(1) вы можете сделать это с отдельными посредниками для машины A и машины B. redis по умолчанию обычно предоставляет вам шестнадцать баз данных, пронумерованных от 0 до 15.Таким образом, вы можете очень легко назначить db 0 для использования в качестве посредника для A и назначить db 1 для посредника для B. Затем, чтобы отправить задачу из B в A, вы можете использовать send_task
:
from celery import Celery
app = Celery('redis://myredis-server:6379/0')
app.send_task('task_name', kwargs={ 'param1': 'value1' })
(2) вы также можете сделать это с одним брокером, если вы используете отдельные очереди сельдерея.