Илья
запусти с -race
Кіт ✙
пусто
Vladislav
а что за mem 3,59 GB?
Vladislav
это RSS?
Илья
смотрите, это индиго
неплохо неплохо, это сколько рпс?
iostream
я думаю на винде os/signal тоже должен сработать
а как ево сделать у меня не выходит
iostream
можно ли так поделить на функции и использовать их в другой функции которую затем использовать в main? everySignal это var everySignal chan os.Signal
iostream
signalHandle() блокирует дальнейшее выполнение всего(
Vladislav
а должно быть по другому?
iostream
видимо нет раз оно так происходит
iostream
не могу додуматься как ловить завершение приложения
Vladislav
у тебя же чтение из пустого канала, вот оно и ждет
iostream
так
Тимофей
а сюда можно вопросы по сишечке задавать?
Тимофей
а то я только го знаю, щас пытаюсь с си для вуза разобраться
iostream
задай мб отвечу если знаю
iostream
у тебя же чтение из пустого канала, вот оно и ждет
смотри делаю вот так, оно не работает
Тимофей
package main import "fmt" func main() { var i interface{} = 42 v, ok := i.(string) if ok == false { fmt.Println("Wrong type assertion!") } else { fmt.Println(v) } // Wrong type assertion! fmt.Println(i.(int)) // 42 } как что-то похожее реализовать в си
Тимофей
чтобы проверять верность каста типов
Vladislav
смотри делаю вот так, оно не работает
перемудрил https://github.com/evrone/go-clean-template/blob/master/internal/app/app.go глянь как тут сделано
iostream
понял
iostream
как говорится, this worked for me
iostream
погоди нет оно не ворк, он не ловит завершение через диспетчер задач и taskkill
Vladislav
какое завершение? если принудительное то и не должно ловить
iostream
а как его поймать 😡😡😡
iostream
некоторые процессы ведь ловят и сразу не закрываются
Илья
signal.Notify(everySignal, os.Kill, os.Interrupt, syscall.SIGTERM)
Vladislav
-9 и в лине не поймает, потому что в этом случае не просит прилогу завершиццо, а просто сразу нафиг с пляжа
iostream
signal.Notify(everySignal, os.Kill, os.Interrupt, syscall.SIGTERM)
так я на все виды сигналов подписался вроде
iostream
iostream
это отсюда: https://pkg.go.dev/os/signal#example-Notify-AllSignals
iostream
fukc
Vladislav
покажи этих некоторых
iostream
ну были же...........
iostream
а можно запретить завершение?
Vladislav
это отсюда: https://pkg.go.dev/os/signal#example-Notify-AllSignals
собсна прочти сверху, там сказано что не все сигналы может поймать
Vladislav
а как ты запретишь отправлять страшные сигналы? ну кроме как сделать свою болженос
Vladislav
на винде-то не сигналы, а оконные сообщения
Vladislav
это просто в гошке они так представлены
Vladislav
а так какие-то проги по крайней мере могут задержать выключение системы
Vladislav
сервисы - подавно, там вообще своё апи есть
Vladislav
я думаю вам лучше обратить внимание как раз на механизм сервисов в винде
Vladislav
суть не меняется
ну меняется, можно себе ещё время запросить при шатдауне
Vladislav
а на линуксе после терма только килл прилетит уже и всё, конец
Vladislav
это поведение разное
Артем
Добрый вечер коллеги, хотелось бы узнать у тех, кто опытный на данном языке, я не имел опыта в крупных компаниях но все же хотел узнать у вас - часто ли в задачах на этом языке вы встречаетесь с работой именно с байтами или работой с побитовыми операциями, работой с чистым tcp и чтением байтов в 16 ричном представлении, просто встретился с такой задачей, и стало интересно - часто ли вообще такое в этом языке происходит?
Артем
а что вы будете делать с этой информацией? в любом случае, мой ответ: смотря в какой области вы работаете. лично я прибегаю к этому довольно часто, но у меня такой, околосетевой профиль
ну я либо прийму что мне прийдется с байтами работать и нехотя буду пытаться понять как и что происходит на самом низком уровне
Артем
либо я просто откажусь от таких задач, если буду знать что все остальное - это не такое же
Vladislav
ясненько
Vladislav
ну если коротко, то в компьютере всё - биты и байты
Артем
ну это да
Артем
думаю что просто стисну зубы и постараюсь все это понять и осмыслить
Артем
всегда работал с тем же rest условно через библиотеки, но никогда не писал rest вручную сам - с нуля
Артем
вот видимо прийдется
iostream
очень глупый вопрос
iostream
есть константа WAIT_FOR_EXIT как заюзать ее в time.Sleep()
iostream
если делаю time.Sleep(WAIT_FOR_EXIT * time.Second) то несовпадение типов, а как его сделать
iostream
разобрался: time.Sleep(time.Duration(WAIT_FOR_EXIT) * time.Second)
Мирон
у меня насущный вопрос го же юзает все ядра при создании горутин? или как питон на одном ядре все делает
Мирон
понятно, спасибо
Артем
если одна горутина
Артем
только при росте горутин шедулер увеличивает кол во структур процессов
Артем
ну и соотвественно потоков
Мирон
ну я это и имею ввиду
Артем
а
Артем
короче - он юзает столько posix потоков - сколько у тебя ядер ( при макс нагрузке )
Артем
но начинает всегда с одного
Null
🦾 restic это быстрая, эффективная и безопасная программа резервного копирования на GO. Инструмент поддерживает три основные операционные системы (Linux, macOS, Windows) и несколько более мелких (FreeBSD, OpenBSD). ⚙️ Github 🗒 Docs @Golang_google
Мурат