Python 芹菜为什么不在特定时间运行定期任务
芹菜没有在特定时间运行定期任务,我的芹菜配置了我的cron任务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
发送电子邮件通知
:
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