Первый таймер с использованием Faktory с Golang, и столкнулся с необходимостью запускать задание каждый раз, когда пользователь попадает в конечную точку.
После регистрации задания запускать задание вам нужно вызвать mgr.Run()
, это функция, которая не возвращает
mgr := worker.NewManager()
mgr.Concurrency = 1
toRegister := map[string]bool{}
mgr.Register(jobName, jobs.NewJob(apiCtx, jobFunc).PerformFunc())
go mgr.Run()
в настоящее время я добавляю go
, чтобы он выполнял его в отдельной горутине, и она отлично работает.
Вопрос: безопасно ли это делать таким образом? Я боюсь, что он может запускать разные процессы, которые никогда не вернутся, а значит, никогда не закончатся, и в какой-то момент может взломать sh сервер.