Как отсрочить несуществующую задачу сельдереем? - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть две среды
1. веб-сервер
2. работник сельдерея

веб-сервер добавляет задания в очередь сообщений сельдерея. но эти env разделены, поэтому нельзя импортировать функцию задачи.

как явно вызвать задачу не существует?

ex)

# A project (web) - view.py
def view(request): 
    [X] task_a.delay()  
    [O] add_jobs("task_a", *args)
    ...

# B project (worker) - tasks.py
@task
def task_a:
    ...

1 Ответ

0 голосов
/ 08 ноября 2019

Используйте функцию send_task , чтобы отправить задачу в отделенный проект сельдерея.

from celery.app import Celery
app = Celery(broker_url='the broker url of the celery instance')
app.send_task(name='myapp.mytaskname', kwargs={
  'arg1': 'value1',
  'arg2': 'value2',
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...