Python 将任务发送给两个单独的芹菜工人

Python 将任务发送给两个单独的芹菜工人,python,django,celery,django-celery,celery-task,Python,Django,Celery,Django Celery,Celery Task,我有两个芹菜任务,想把它们发送给不同的工人来完成,但我不知道如何做到这一点。我查看了芹菜文档的task_routes部分,并尝试了stackoverflow中的一些方法,但没有成功 tasks.py @app.task def task1(): does something @app.task def task2(): does something else 我有两个芹菜工人,我希望他们每个人都专注于一项任务,所以工作1在任务1上,工作2在任务2上 芹菜 os.envi

我有两个芹菜任务,想把它们发送给不同的工人来完成,但我不知道如何做到这一点。我查看了芹菜文档的task_routes部分,并尝试了stackoverflow中的一些方法,但没有成功

tasks.py

@app.task
def task1():
     does something


@app.task
def task2():
     does something else
我有两个芹菜工人,我希望他们每个人都专注于一项任务,所以工作1在任务1上,工作2在任务2上

芹菜

os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')

app = Celery('project')

app.conf.timezone = 'Europe/London'

app.config_from_object('django.conf:settings')
app.conf.update(BROKER_URL=str(os.getenv('REDIS_URL')),
                CELERY_RESULT_BACKEND=str(os.getenv('REDIS_URL')),
                broker_use_ssl = {
                        'ssl_cert_reqs': ssl.CERT_NONE
                    },
                    redis_backend_use_ssl = {
                        'ssl_cert_reqs': ssl.CERT_NONE
                    })
                
app.autodiscover_tasks()
然后是procfile-

web: gunicorn project.wsgi --log-file -
worker1: celery -A project worker -l INFO --concurrency=1 -Ofair -n worker1.%h
worker2: celery -A project worker -l INFO --concurrency=1 -Ofair -n worker2.%h

如何设置队列,使worker1=task1和worker2=task2?

实际上,您并没有将任务发送给worker,而是发送给代理。这可能对你有帮助