我在两台不同的机器上运行 celery client(Flask) 和 worker,现在一旦 worker 完成任务,我需要在客户端回调一个函数。这可能吗?
芹菜客户:-
celery_app=Celery('test_multihost', broker='amqp://test:test@<worker_ip>/test_host', backend='rpc')
result= testMethod1.apply_async((param1, param2,param3), link=testMethod2.s())
@celery_app.task
def testMethod2():
#testMethod2 body.
芹菜工人:-
celery_app=Celery('test_multihost', broker='amqp://test:test@<worker_ip>/test_host', backend='rpc')
@celery_app.task
def testMethod1():
#testMethod1 body
但问题是函数 testMethod2 在 celery worker 端执行,而不是在客户端。
无论如何我可以在客户端回调该方法吗?