Ваш TimerService
построен неправильно:
ts2 = TimerService(3600, call_command("tamarin_pull_logs"))
Это то же самое, что:
some_func = call_command("tamarin_pull_logs")
ts2 = TimerService(3600, some_func)
Что возвращает call_command
?Это не часть вашей пасты, но так как ваше исключение:
exceptions.TypeError: 'NoneType' object is not callable
Я собираюсь догадаться, что он возвращает None
.И None
не вызывается, как указывает исключение.
Вы правильно настроили первый TimerService
:
ts = TimerService(86400, check_all_notifications)
Обратите внимание, что вы не звоните check_all_notifications
вэто утверждение.Вы передаете это TimerService
.Вы должны сделать то же самое для другой службы:
ts2 = TimerService(3600, call_command, "tamarin_pull_logs")
Просто так получается, что TimerService
создан для поддержки вызова функции с некоторыми аргументами, поэтому он принимает как вызываемые, так и произвольные дополнительные аргументы ипередает эти аргументы вызываемой стороне всякий раз, когда наступает время ее вызова.