在执行celery任务后,如何用结果更新实例变量

时间:2019-02-19 07:29:18

标签: python celery celery-task

  • 我有2个类,一个类A,其数组订阅了redis 订户连续获取数据并应在内部运行 一个线程。
  • 我想在订阅者内部触发一项任务 从外部API发送,然后将该项目添加到类中的数组中 A
  • 我如何在Celery中做到这一点?任何方向将不胜感激。

    class A(object):
    
        def __init__(self):
            self.items = []
    
        def on_subscribe(new_item):
            self.items.append(new_item)
            insert_data.delay(1544500000)
    
        # ???? how do I update the items array here from task results
        def update_items_from_task():
            pass
    
        # Configure with your own broker
        app = Celery("tasks", broker="redis://localhost:6379")
    
        @app.task
        def insert_data(timestamp):
            return requests.get(API_URL + '/' + timestsamp)
    
    
        @task_success.connect
        def on_task_complete(sender=None, result=None, **kwargs):
            print("task successful", result)
    

0 个答案:

没有答案