django-celery-beat生成任务但Celery Worker未接收问题求助
Django-Celery-Beat 与 Celery Worker 异常问题
使用 ElasticMQ 作为消息中间件(Broker),Celery Beat 已成功创建定时任务,但 Celery Worker 始终无法接收任务。尝试重启 Worker 和 Beat 后问题仍未解决。
相关代码片段
核心配置代码
app = Celery("app") logger = get_task_logger(__name__) CELERY_CONFIG = { "CELERY_TASK_SERIALIZER": "json", "CELERY_ACCEPT_CONTENT": ["json"], "CELERY_RESULT_SERIALIZER": "json", "CELERY_RESULT_BACKEND": None, "CELERY_ENABLE_UTC": True, "CELERY_ENABLE_REMOTE_CONTROL": False, } BROKER_URL = "sqs://user:password@sqs:9324/" CELERY_CONFIG.update( { "BROKER_URL": BROKER_URL, "BROKER_TRANSPORT": "sqs", "BROKER_TRANSPORT_OPTIONS": { "region": "us-west-2", "use_ssl": False, "visibility_timeout": 3600, "polling_interval": 60, }, } ) app.conf.update(**CELERY_CONFIG) app.config_from_object("django.conf:settings", namespace="CELERY")
任务代码
@celery.app.task() def beat_task() -> None: logger.info("Starting beat task...") time.sleep(2) logger.info("Done beat task.")
定时任务配置
CELERY_BEAT_SCHEDULE = { "beat_task": { "task": "app.tasks.beat_task", "schedule": timedelta(seconds=10), }, }
当前现象
- Worker 端始终无法打印任务中的日志信息
- 相关截图说明:
- Celery Worker 截图:显示 Worker 已正常启动并连接到指定 SQS Broker
- Beat 发送队列截图:显示 Beat 已将定时任务发送至对应队列
- Worker 未接收任务截图:显示 Worker 长时间无任务接收记录
内容的提问来源于stack exchange,提问作者Davidson Co
相关产品推荐
相关产品推荐

