0

我最近更新到最新版本的 web2py (v2.1.1) 但即使在以前的版本中我仍然遇到这个问题。

我想运行一个 cron 作业。在我努力让 cron 正常工作的过程中,我遵循了本教程。看到它工作的东西真的很简单。但我一定做错了什么,因为我不确定这是否有效。

下面是我启动 web2py 后的终端。我想每分钟运行 3 个模块。最后一个模块来自上述教程。我还遵循了教程的 logging.conf 以便输出反映在下面:

2012-10-18 16:50:00,060 - web2py.cron - DEBUG - hard cron invocation
2012-10-18 16:50:00,060 - web2py.cron - DEBUG - WEB2PY CRON: Acquiring lock
2012-10-18 16:50:00,061 - web2py.cron - INFO - WEB2PY CRON (hard): ircmessage executing *applications/ircmessage/modules/get_messages.py in /home/web2py/src/web2py at 2012-10-18 16:50:00.061575
2012-10-18 16:50:00,062 - web2py.cron - INFO - WEB2PY CRON (hard): ircmessage executing **applications/ircmessage/modules/addline.py in /home/web2py/src/web2py at 2012-10-18 16:50:00.062092
2012-10-18 16:50:00,065 - web2py.cron - INFO - WEB2PY CRON (hard): ircmessage executing **applications/ircmessage/modules/background_updater.py in /home/web2py/src/web2py at 2012-10-18 16:50:00.065794
2012-10-18 16:50:00,069 - web2py.cron - DEBUG - WEB2PY CRON: Releasing cron lock
2012-10-18 16:50:00,934 - web2py.cron - DEBUG - WEB2PY CRON Call returned success:
>>> 
2012-10-18 16:50:00,938 - web2py.cron - DEBUG - WEB2PY CRON Call returned success:
>>> 
2012-10-18 16:50:00,963 - web2py.cron - DEBUG - WEB2PY CRON Call returned success:

这是我的 crontab:

#crontab
0-59/1 * * * * root *applications/ircmessage/modules/get_messages.py
0-59/1 * * * * root **applications/ircmessage/modules/addline.py
0-59/1 * * * * root **applications/ircmessage/modules/background_updater.py

快速浏览一下简单的 addline.py 模块:

#!/usr/bin/env python
# coding: utf8
from gluon import *
from gluon.debug import dbg

with open("text.txt", "a") as myfile:
    myfile.write("appended text")

dbg.set_trace() # stop here! **

** 请注意,我使用了 dbg.set_trace - 此跟踪不会出现在管理员的调试部分中。

自从更新到 web2py 的新版本后,我注意到 cron 任务不会在启动时自动运行(但是我可能误解了这一点?)。我像这样启动 web2py:

./web2py.py -i xxx.xxx.xx.xx -p 8000 -c /etc/ssl/certs/my_cert_file.crt -k /etc/ssl/certs/my_cert_key.key -a apassword --run-cron

任何关于如何让最简单的 cron 任务工作的建议将不胜感激。还欢迎关于我如何调试 cron 是否实际被调用的建议。实际上,一般的建议会非常有益。

提前感谢您的时间和建议。

4

1 回答 1

2

由于 web2py 2.1.1 cron 默认是禁用的(因为我们希望鼓励使用调度程序)。您需要 -Y 选项来启用它。

于 2012-10-18T17:56:54.180 回答