我试图根据官方文档使用django_crons进行一些设置,甚至为了进行调试,我在project / app_name / crone.py中的do函数中使用了print语句
enter code herfrom django_cron import CronJobBase, Schedule
from cricket.models import *
from cricket.service import cricket_player_performance_update
class CricketScoreUpdate(CronJobBase):
RUN_EVERY_MINS = 2 # every 2 minutes
MIN_NUM_FAILURES = 1
schedule = Schedule(run_every_mins=RUN_EVERY_MINS)
code = 'project_name.cricket.cron.CricketScoreUpdate'
def do(self):
print("ya")
pass
我也在setup.py文件中设置
FAILED_RUNS_CRONJOB_EMAIL_PREFIX = "[Server check]: "
CRON_CLASSES = [
"cricket.cron.CricketScoreUpdate",
"django_cron.cron.FailedRunsNotificationCronJob",
]
我也编辑crontab
*/2 * * * * source /home/ubuntu/.bashrc && home/abhi/venv/bin/python && source /home/abhi/venv/bin/activate && python /home/abhi/leaguesx/manage.py runcrons > /home/abhi/leaguesx/cronjob.log
但是当我运行python manage.py runcrons时,它什么也不会打印
我该怎么办?提前感谢
答案 0 :(得分:0)
尝试这段代码并运行它,如果您在日志文件(10
)中看到cronjob.log
,则它可以正常工作,然后在def do
中可以实现您的逻辑。
cricket/cron/CricketScoreUpdate.py
from django_cron import CronJobBase, Schedule
class CricketScoreUpdate(CronJobBase):
RUN_EVERY_MINS = 2 # every 2 minutes
MIN_NUM_FAILURES = 1
schedule = Schedule(run_every_mins=RUN_EVERY_MINS)
code = 'cricket.cron.CricketScoreUpdate'
def do(self):
x = 5 + 5
print("If 10, cron works>>>", x)
cricket/Settings.py
CRON_CLASSES = [
"cricket.cron.CricketScoreUpdate",
"django_cron.cron.FailedRunsNotificationCronJob",
]