我有一个python服务,它使用后台调度程序来运行不同的任务。它使用HTTP GET和POST使我们的数据库与其他API保持同步。
我们在heroku上运行时没有遇到麻烦。我们最近在OVH上移动了我们的生产箱。当我使用
运行它时python runtasks.py
一切正常。当我在后台使用运行它时
python runtasks.py &
或使用此systemd单元文件
[Unit]
...
[Service]
Restart=always
ExecStart=/usr/bin/python /path/to/python/file/runtasks.py
[Install]
WantedBy=multi-user.target
该过程运行没有错误,但是它不能工作超过1小时。
我已使用journalctl获取流程日志
Aug 10 13:10:23 ns504338.ip-192-99-1.net bash[23763]:
WARNING:apscheduler.scheduler:Execution of job "Foobar.run
(trigger: interval[0:00:20], next run at: 2015-08-10 13:10:23 EDT)"
skipped: maxim
Aug 10 13:10:43 ns504338.ip-192-99-1.net bash[23763]:
WARNING:apscheduler.scheduler:Execution of job "Foobar.run
(trigger: interval[0:00:20], next run at: 2015-08-10 13:10:43 EDT)"
skipped: maxim
Aug 10 13:11:03 ns504338.ip-192-99-1.net bash[23763]:
WARNING:apscheduler.scheduler:Execution of job "Foobar.run
(trigger: interval[0:00:20], next run at: 2015-08-10 13:11:03 EDT)"
skipped: maxim
...
正确运行时,这些警告的频率会降低。它们也是其他日志消息。
我目前的假设是缺少env变量或相对路径。我目前正在调查,非常感谢任何帮助!