최근에 web2py (v2.1.1)의 최신 버전으로 업데이트되었지만 이전 버전에서도 여전히이 문제가 발생했습니다.Web2py - Cron 작업 디버그
크론 작업을 실행하고 싶습니다. cron을 작동시키려는 노력에서이 튜토리얼을 따라갔습니다. 정말 간단하게 작동하는 것을 알 수 있습니다. 그러나 나는 이것이 잘 작동하는지 확신 할 수 없기 때문에 잘못된 것을했을 것입니다.
다음은 일단 web2py를 시작하면 내 터미널입니다. 매분마다 3 개의 모듈을 실행하고 싶습니다. 마지막 모듈은 앞서 설명한 튜토리얼의 모듈입니다. 여기
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을이다 : 출력이 아래에 반영 될 수 있도록 나는 또한 튜토리얼 'logging.conf을 따랐다
#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이 실제로 호출되는지 여부를 디버깅하는 방법에 대한 조언도 환영 할 것입니다. 실제로 일반적으로 조언은 매우 유용합니다.
시간과 제안에 감사드립니다.
감사합니다. 대신 스케줄러를 사용해 보겠습니다. –