Python多线程celery update_state

时间:2018-07-30 06:46:08

标签: python multithreading celery python-3.6 celery-task

我有多个线程来更新全局定义的celery任务对象的状态。对于celery_task.update_state,失败的地方是expected bytes-like object but found NoneType。 这是代码段:

def increment_ticket_served_count():
    with TICKETS_LOCK:
        global TOTAL_TICKETS_SERVED
        TOTAL_TICKETS_SERVED += 1
        STATE_MANAGER.update_state(state='IN_PROGRESS',
                               meta={'current': TOTAL_TICKETS_SERVED})

这些变量是全局定义的

def setup_state_manager(self):
    global STATE_MANAGER
    STATE_MANAGER = self
    STATE_MANAGER.update_state(state='IN_PROGRESS')
    logging.debug('Setting up State Manager')

TICKETS_LOCK = threading.Lock()
TOTAL_TICKETS_SERVED = 0
STATE_MANAGER = None

在celery文档上找不到任何与此相关的信息。有提示吗?

0 个答案:

没有答案