Python 芹菜为什么不在特定时间运行定期任务

Python 芹菜为什么不在特定时间运行定期任务,python,python-3.x,celery,Python,Python 3.x,Celery,芹菜没有在特定时间运行定期任务,我的芹菜配置了我的cron任务发送电子邮件通知: from celery import Celery from celery.schedules import crontab class Config: timezone = 'Europe/Minsk' enable_utc = True task_always_eager = False broker_url = 'amqp://%s:%s@%s:%s//' % (RABBI

芹菜没有在特定时间运行定期任务,我的芹菜配置了我的cron任务
发送电子邮件通知

from celery import Celery
from celery.schedules import crontab

class Config:
    timezone = 'Europe/Minsk'
    enable_utc = True

    task_always_eager = False
    broker_url = 'amqp://%s:%s@%s:%s//' % (RABBITMQ_USERNAME, RABBITMQ_PASSWORD, RABBITMQ_HOST, RABBITMQ_PORT)
    result_expires = 3600
    worker_prefetch_multiplier = 1
    worker_max_memory_per_child = 250000  # 250MB

    imports = (
        'app.jobs.clients_job',
    )
    task_routes = {
        'app.jobs.clients_job.send_email': {'queue': 'clients'},
        # Periodic tasks
        'app.jobs.clients_job.send_email_notifications': {'queue': 'periodic_api'},
    }

    beat_schedule = {
        'send-email-notifications': {
            'task': 'app.jobs.clients_job.send_email_notifications',
            'schedule': crontab(hour=16, minute=4),
            'args': (),
        },
    }
    worker_hijack_root_logger = False
    accept_content = ['json']


celery = Celery()
celery.config_from_object(Config)
app.jobs.clients\u job

@celery.task
def send_email_notifications():
    t = datetime.date.today()
    logger.info('started')
    logger.info(t)
我以以下身份运行芹菜工人:

`$ celery worker -c 1 -n prtperiodicapi -l INFO -A config.celery_config -B -E -Q periodic_api -s /tmp/api_celerybeat_schedule_periodic`
但为什么任务不在
16:04运行

celery == 4.1.1
python 3.5.2
服务器日期时间

$date

2018年5月26日星期六16:02:48+03

此外: 使用空的
crontab()
,定期运行任务

更新: 与工人分开运行芹菜节拍并没有帮助

celery beat v4.1.1 (latentcall) is starting.
__    -    ... __   -        _
LocalTime -> 2018-05-26 16:58:11
Configuration ->
    . broker -> amqp://guest:**@localhost:5672//
    . loader -> celery.loaders.default.Loader
    . scheduler -> celery.beat.PersistentScheduler
    . db -> celerybeat-schedule
    . logfile -> [stderr]@%WARNING
    . maxinterval -> 5.00 minutes (300s)

您是否尝试过单独运行
芹菜节拍
,而不是作为worker的一部分运行?您正在设置
时区='Europe/Minsk'
之后启用utc=True
,这会将其重置为使用utc(您将其设置为在本地时间16:04运行,对吗?)我已经将其设置为False,您是否能够解决此问题?我也面临同样的问题。我为运行python脚本的ubuntu cron添加了新的定期任务。在celery github.com上,开发人员说它已在v4.2.0rc4中修复。我决定不在我的项目中安装
rc
release芹菜。您也可以等待半年(可能更久),而他们将发布稳定的
v4.2.0