Python Django Cellery具有多个具有特定并发性的工作者
我必须从数据库(oracle)调用一些存储过程。我使用芹菜和redis以异步方式调用此SP tasks.pyPython Django Cellery具有多个具有特定并发性的工作者,python,django,celery,django-celery,celery-task,Python,Django,Celery,Django Celery,Celery Task,我必须从数据库(oracle)调用一些存储过程。我使用芹菜和redis以异步方式调用此SP tasks.py @task def carga_ftp(): tabla = Proc_Carga() sp = tabla.carga() return None @task def conci(idprov,pfecha): conci = Buscar_Conci() spconc = conci.buscarcon(idprov,pfecha)
@task
def carga_ftp():
tabla = Proc_Carga()
sp = tabla.carga()
return None
@task
def conci(idprov,pfecha):
conci = Buscar_Conci()
spconc = conci.buscarcon(idprov,pfecha)
return None
我需要为每个任务指定不同的并发性。对于任务CONCI,我需要1的并发性,对于任务CARGA_FTP,需要3或更多的并发性
celery multi start -A provcon conc carga -c:conc 1 -c:carga 3
文件settings.py中的我的芹菜设置
BROKER_URL = 'redis://localhost:6379/0'
CELERY_IMPORTS = ("pc.tasks", )
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_RESULT_BACKEND='djcelery.backends.cache:CacheBackend'
CELERY_ROUTES = {"tasks.conci": {"queue": "conc"}, "tasks.carga_ftp": {"queue": "carga"}}
但工人“CONC”同时执行多个任务,工人“CARGA”也同时执行多个任务
当我看到这个过程
ps aux | grep 'celery'
我看到工人“CONC”有两个流程,工人“CARGA”有四个流程
我不知道我是否错过了什么,或者我的突击队是否执行芹菜是错误的。
但是我一次只需要一个任务来完成任务“CONCI”
有什么建议吗
提前感谢当你开始做芹菜工人时,它就开始了
芹菜异步处理任务。它将立即使用给定的任务,但每次执行1个。感谢您的解释,但我为一个工作进程指定了1的并发性,我启动了任务,几分钟后我再次启动同一任务,我在数据库中看到了同时运行的任务(任务调用存储过程)