我的芹菜任务如下:
@celery_app_site24x7.task(queue='site24x7')
def createWebsiteMonitoring(**kwargs):
""" Celery Task to create or update website Moniroting """
time.sleep(100)
site24x7Instance = Business_api.thirdpartyFactory.instantiate(
"site24x7")
# site24x7Instance.login()
return site24x7Instance.createWebsiteMonitoring(**kwargs)
问题是我的任务正在由多个工作人员Fork POOL运行:
+++++++
[2019-01-23 05:40:59,674:INFO / ForkPoolWorker-3]任务 celery_tasks.site24x7.createWebsiteMonitoring [a6eeff3d-fa01-4f2e-9921-849435c9b902] 在128.61932249739766s中成功:“ 279832000003876475”
[2019-01-23 05:49:32,565:INFO / ForkPoolWorker-2]任务 celery_tasks.site24x7.createWebsiteMonitoring [a6eeff3d-fa01-4f2e-9921-849435c9b902] 在127.42566008213907s中成功:“ 279832000003877559”
+++++++
因此同一任务正在多次运行。
另一方面,工作日志中有一些错误,如下所示:
redis.exceptions.ConnectionError:从套接字读取时出错: (“连接已被服务器关闭。”,
[2019-01-23 06:58:01,453:警告/ MainProcess]正在还原15 未确认的消息
[2019-01-23 06:58:01,641:INFO / MainProcess]已连接到 redis://46.19.177.13:6379/10
某些时间:
[2019-01-23 05:58:19,791:警告/ MainProcess]使用者:连接到 经纪人输了。尝试重新建立连接...
我的代码有问题吗?为什么同一任务要运行两次?