Closed gmorkgg closed 3 years ago
解决办法,修改两处 1、启动命令 celery worker -A app.worker -Q main-queue -B -l debug 2、 代码部分修改了两处: 一、
if not query_aws_ec2_schedule:
session.add(schedule_aws_ec2)
session.add(periodic_task_aws_ec2)
session.commit()
# session.close()
二、定义了 beat_scheduler,内容为单引号,同时config里增加了 beat_scheduler和beat_dburi的配置
beat_scheduler = 'celery_sqlalchemy_scheduler.schedulers:DatabaseScheduler'
config = {
#'beat_schedule': beat_schedule,
'beat_scheduler': beat_scheduler, # 命令行传参配置了,所以这里并不需要写死在代码里
'beat_max_loop_interval': beat_max_loop_interval,
'beat_dburi': beat_dburi,
'timezone': timezone,
'worker_max_tasks_per_child': worker_max_tasks_per_child
}
crontab能够写入数据库,但是beat看起来没有从数据库中找到定时任务
所有环境都是基于Docker镜像
环境
问题:
我的代码配置:
我的beat启动命令:
Celery Docker启动日志:Debug日志
个人尝试:
目标: