如何去芽 django crontab.



我已经通过使用django crontab设置了一个cron作业。根据文档中的定义,我在 cron.py 中定义了一个测试作业,并将其定义为在 settings.py 中以 1 分钟的间隔运行。

#cron.py
def test_cron_run():
    print("nnHello World....!! ",timezone.now())
#settings.py
INSTALLED_APPS = [
    'material.theme.cyan',
    'material',
    'material.admin',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp',
    'django_crontab',
]
CRONJOBS = [
    ('*/1 * * * *', 'myapp.cron.test_cron_run','>>'+os.path.join(BASE_DIR,'log/debug7.log')),
]

我通过运行 python3 manage.py crontab add 添加了 cron 作业。此外,还添加了作业,因为我可以看到我是否运行,python3 manage.py crontab show但是,我看不到正在生成的任何日志文件。有没有办法调试这个,操作系统日志或其他东西?

为了结合这里给出的提示,这就是它对我的工作方式:

import os
CRONJOBS = [
    ('* * * * *', 'myapp.cron.test_cron_run', '>> ' + os.path.join(BASE_DIR,'log/debug7.log' + ' 2>&1 '))
]

其他说明

  • 目录需要存在,您需要写入权限
  • 每次更改 CRONJOBS 后,运行两次python3 manage.py crontab add
  • 如果没有2>&1,来自python的错误消息不会被记录,因为它们被写入STDERR
  • 使用crontab -l检查实际写入 crontab 的内容
  • 如果它不起作用,您可能有来自 cron 的邮件。根据您的系统,使用 mail 阅读。

也许只是尝试在 cron 作业结束时添加 2>&1,它会将错误输出重定向到标准输出。

我遇到了同样的问题。我只能通过包含日志文件的直接路径并提前创建它来使其工作

相关内容

  • 没有找到相关文章

最新更新