我正在使用Flask应用程序并使用APScheduler来安排作业,而Celery则将这些作业作为后台进程运行。当特定任务到来时,APScheduler会将该任务分配给Celery,但有时Celery工作程序在重新启动Celery应用程序之前不会执行该任务。
def run_job(data)
logger.info('Queuing data send')
# Call celery task to send post_data to URL
send_request.apply_async(data)
其中send_request()是Celery任务。因此,我为多个作业获取“排队数据发送”的日志,但执行永远不会进入send_request方法,除非重新启动Celery应用程序。
我正在运行Celery应用
celery_app.start(argv=['celery', 'worker', '-Ofair', '--without-gossip', '--without-mingle', '-l', 'info', '--autoscale', '12,3', '-Q', 'my_queue', '-n', 'my_queue'])