Django_cron只执行一次,调度程序不工作



我必须按计划执行任务,为此我使用django_cron。设置:

INSTALLED_APPS = [
    'mailsnake',
    'corsheaders',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'Avaana_web',
    'rest_framework',
    'rest_framework.authtoken',
    'django_cron',
]

和cron.py

    from django_cron import CronJobBase, Schedule,cronScheduler
    import datetime,os
    class MyCronJob(CronJobBase):
        RUN_EVERY_MINS = .3
        RETRY_AFTER_FAILURE_MINS = 5
        ALLOW_PARALLEL_RUNS = True
        schedule = Schedule(run_every_mins=RUN_EVERY_MINS,      
  retry_after_failure_mins=RETRY_AFTER_FAILURE_MINS)
        code = 'my_app.my_cron_job'
        def do(self):
            print("hello")

但是当我运行

$ python manage.py runcrons
 hello

只显示一次输出并结束。

如何在每30秒后得到输出

以下几点:

。看起来您的cron作业没有正确配置。根据doc,您需要在您的设置路径中创建一个CRON_CLASSES列表,指向您的cron类的完全限定包名,如下所示:

CRON_CLASSES = [
    "my_app.cron.MyCronJob",
    # ...
]

b。此外,通过python manage运行它并不意味着它将继续运行多次。您可能仍然需要从cron作业中运行'python manage.py runcrons'。当您调用manage.py runcrons时,您的调度将仅仅决定它是否需要运行。查看更多详细信息:http://django-cron.readthedocs.io/en/latest/installation.html

相关内容

  • 没有找到相关文章

最新更新