Celery Beat无法正常调度任务并冻结问题求助
Celery Beat 4.1.0任务调度冻结无法触发任务求助
我最近碰到了Celery Beat的棘手问题——它没法正常调度任务,直接冻住了!用的是Celery 4.1.0版本,以下是我的相关配置、任务代码和运行日志,麻烦各位大佬帮忙看看怎么解决,万分感谢!
环境与配置
我的Celery配置如下:
CELERY_BROKER_URL = 'redis://127.0.0.1:6379' CELERY_ACCEPT_CONTENT = ['application/json'] CELERY_RESULT_SERIALIZER = 'json' CELERY_TASK_SERIALIZER = 'json' CELERY_TIMEZONE = 'Asia/Kolkata' CELERY_ACCEPT_CONTENT += ['pickle'] CELERYBEAT_SCHEDULE = { 'testing_msg': { 'task': 'modules.sms.tasks.testing_message', 'schedule': crontab(minute=1), }, }
任务代码(tasks.py)
对应的任务实现:
@task() def testing_message(*args, **kwargs): SmsAPI().send_sms("Hello Shubham Message Time is {}".format(datetime.now().time()), "958xxxxxx") SmsAPI().send_sms("Hello Nishant Message Time is {}".format(datetime.now().time()), "971xxxxxx")
Celery Beat运行日志
启动Beat时的命令是celery -A config beat -l debug raven settings,日志输出如下:
shubham@shuboy2014:/media/shubham/BC161A021619BDF8/Nishant Project/Project1$ celery -A config beat -l debug raven settings celery beat v4.1.0 (latentcall) is starting. __ - ... __ - _ LocalTime -> 2018-01-04 14:57:53 Configuration -> . broker -> redis://127.0.0.1:6379// . loader -> celery.loaders.app.AppLoader . scheduler -> celery.beat.PersistentScheduler . db -> celerybeat-schedule . logfile -> [stderr]@%DEBUG . maxinterval -> 5.00 minutes (300s) [2018-01-04 14:57:53,139: DEBUG/MainProcess] Setting default socket timeout to 30 [2018-01-04 14:57:53,139: INFO/MainProcess] beat: Starting... [2018-01-04 14:57:53,334: DEBUG/MainProcess] Current schedule: <ScheduleEntry: celery.backend_cleanup celery.backend_cleanup() <crontab: 0 4 * * * (m/h/d/dM/MY)> [2018-01-04 14:57:53,334: DEBUG/MainProcess] beat: Ticking with max interval->5.00 minutes [2018-01-04 14:57:53,336: DEBUG/MainProcess] beat: Waking up in 5.00 minutes.
目前日志显示Beat启动后就一直处于"唤醒等待5分钟"的状态,到了我设定的调度时间(每分钟的第1分钟)也完全没触发testing_msg任务,完全没动静。有没有大佬遇到过类似问题?求指点可行的解决方案!
内容的提问来源于stack exchange,提问作者shuboy2014
相关产品推荐
相关产品推荐

