Size: a a a

2020 June 16

с

сонная википедия... in Go-go!
кстати говоря, а как гошный таймер отреагирует на хибернейт?
источник

ЛА

Локоть Анатолий... in Go-go!
сонная википедия
но вообще для таких вещей есть cron и Windows Scheduler
так процесс не будет висеть в фоне и тд
А как крон внутри себя работает?
Также - демон, который постоянно висит и чекает надо ли выполнять ту или иную задачу.
источник

VM

Vladislav Milenin in Go-go!
t := time.NewTimer(time.Minute*10)
for {
    <-t.C
     {code}
     t = time.NewTimer(time.Minute*10)
}
источник

с

сонная википедия... in Go-go!
Локоть Анатолий
А как крон внутри себя работает?
Также - демон, который постоянно висит и чекает надо ли выполнять ту или иную задачу.
1. крон один, а не process per demon
2. кейс с хибернейтом выше
3. это системное решение задачи
источник

с

сонная википедия... in Go-go!
Vladislav Milenin
t := time.NewTimer(time.Minute*10)
for {
    <-t.C
     {code}
     t = time.NewTimer(time.Minute*10)
}
t.Reset
источник

C

Calculon in Go-go!
Eduard Tkachuk
Всем привет, хочу сделать демона который каждые 10 мин ходит на сайт и собирает последние посты. Как лучше всего реализовать задержку в GoLang?
выглядит как питон + системд
источник

VM

Vladislav Milenin in Go-go!
Я просто обычно инициализацию на секунду ставлю, чтобы при запуске отработало)
источник

БВ

Буйный Виталя... in Go-go!
Eduard Tkachuk
Всем привет, хочу сделать демона который каждые 10 мин ходит на сайт и собирает последние посты. Как лучше всего реализовать задержку в GoLang?
Зачем каждые 10 минут?
источник

ET

Eduard Tkachuk in Go-go!
Буйный Виталя
Зачем каждые 10 минут?
Можно и реже, это не меняет сути
источник

ЛА

Локоть Анатолий... in Go-go!
сонная википедия
1. крон один, а не process per demon
2. кейс с хибернейтом выше
3. это системное решение задачи
Не очень понял, что есть хибернейт - скорее всего процессу посылается какой-то сигнал, верно? Если да, его можно обработать.

Есть либы для крона на го, это может быть 1 родительский  процесс, работающий с той же конфигурацией, что и крон.

Это решение абсолютно такое же как и крон только своими руками со всеми плюсами и минусами разности этих подходов.
источник

с

сонная википедия... in Go-go!
Локоть Анатолий
Не очень понял, что есть хибернейт - скорее всего процессу посылается какой-то сигнал, верно? Если да, его можно обработать.

Есть либы для крона на го, это может быть 1 родительский  процесс, работающий с той же конфигурацией, что и крон.

Это решение абсолютно такое же как и крон только своими руками со всеми плюсами и минусами разности этих подходов.
хибернейт это гибернитизация, все процессы просто дампаются на диск, а потом загружаются
проблема в том что процесс не будет учитывать время проведенное в таком состоянии(скорее всего, я не уверен, но такая проблема в общем-то есть)
источник

с

сонная википедия... in Go-go!
Локоть Анатолий
Не очень понял, что есть хибернейт - скорее всего процессу посылается какой-то сигнал, верно? Если да, его можно обработать.

Есть либы для крона на го, это может быть 1 родительский  процесс, работающий с той же конфигурацией, что и крон.

Это решение абсолютно такое же как и крон только своими руками со всеми плюсами и минусами разности этих подходов.
насчет родительского процесса не понял, просто не имеет смысл держать в фоне процесс который потребляет ресурсы, когда все можно доверить специально написанному для этого крону
источник

с

сонная википедия... in Go-go!
в целом, можно реализовать оба варианта, это несложно
источник

ЛА

Локоть Анатолий... in Go-go!
сонная википедия
хибернейт это гибернитизация, все процессы просто дампаются на диск, а потом загружаются
проблема в том что процесс не будет учитывать время проведенное в таком состоянии(скорее всего, я не уверен, но такая проблема в общем-то есть)
Возможно крон и лучше, просто в данном случае не кажется, что это много функционала, ради которого нужно ставить готовую софтину. Но это очень спорный вопрос. Для неискушенного разраба точно проще взять и настроить готовый софт.
По поводу именно хибернейт если time.sleep реально аффектится, то могу предложить вариант чекать разницу времени, а не time.sleep, например. Это предположение, не могу гарантировать его правильность.
источник

с

сонная википедия... in Go-go!
сонная википедия
в целом, можно реализовать оба варианта, это несложно
в смысле режим демона и просто какой-нибудь fetch
источник

ЛА

Локоть Анатолий... in Go-go!
сонная википедия
насчет родительского процесса не понял, просто не имеет смысл держать в фоне процесс который потребляет ресурсы, когда все можно доверить специально написанному для этого крону
Вообще да, главное чтобы крон удовлетворил все потребности и не был слишком тяжёлым по сравнению с тем, что вообще требовалось.
источник

АБ

Артём Белоусов... in Go-go!
Крон совсем не тяжёлый)
источник

ЛА

Локоть Анатолий... in Go-go!
В плане гибкости , например, при работе из го можно запускать рутину и останавливать ее. Таких рутин может быть много.
Крон это отдельный процесс, он стартует процессы и не следит за их выполнением.
источник

ЛА

Локоть Анатолий... in Go-go!
Артём Белоусов
Крон совсем не тяжёлый)
Поставить софт, подготовить для него конфиг, это все накладные расходы, которые добавляются к основной программе на го.
Под тяжестью я имею в виду общее усложнение системы, а не вес конкретного бинарника кронтаба.
источник

АБ

Артём Белоусов... in Go-go!
Зато крон тебе не надо дебажить и поддерживать. Он выполняет ровно 1 задачу и делает это хорошо
источник