小编ssn*_*ish的帖子

Celery + SQS 两次接收相同的任务,同时具有相同的任务 ID

在flask应用程序中使用带有SQS的芹菜,
芹菜同时接收相同的任务两次,任务ID相同

像这样运行工人,
celery worker -A app.jobs.run -l info --pidfile=/var/run/celery/celery.pid --logfile=/var/log/celery/celery.log --time-limit=7200 --concurrency=8

这是芹菜的日志

[2019-11-29 08:07:35,464: INFO/MainProcess] Received task: app.jobs.booking.bookFlightTask[657985d5-c3a3-438d-a524-dbb129529443]  
[2019-11-29 08:07:35,465: INFO/MainProcess] Received task: app.jobs.booking.bookFlightTask[657985d5-c3a3-438d-a524-dbb129529443]  
[2019-11-29 08:07:35,471: WARNING/ForkPoolWorker-4] in booking funtion1
[2019-11-29 08:07:35,473: WARNING/ForkPoolWorker-3] in booking funtion1
[2019-11-29 08:07:35,537: WARNING/ForkPoolWorker-3] book_request_pp
[2019-11-29 08:07:35,543: WARNING/ForkPoolWorker-4] book_request_pp
Run Code Online (Sandbox Code Playgroud)

收到两次相同的任务,并且两者同时运行,

在 pyhton 烧瓶中使用 celery==4.4.0rc4、boto3==1.9.232、kombu==4.6.6 和 SQS。
在 SQS 中,默认可见性超时为 30 分钟,我的任务没有 ETA 也没有确认

我的任务.py

from app import app as flask_app
from app.jobs.run import capp
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy(flask_app) …
Run Code Online (Sandbox Code Playgroud)

amazon-sqs celery flask celery-task

9
推荐指数
1
解决办法
312
查看次数

标签 统计

amazon-sqs ×1

celery ×1

celery-task ×1

flask ×1