1
@celery.task(bind=True, max_retries = 5)
def send_notification_task(self, user_id, content):
print 'Sending message to pubnub'
msg = prepare_message(16182 , 16182, 'Android', 'This is a text message')
def _callback(message):
print 'success callback'
print(message)
def _error(message):
print 'error callback'
print self.request.retries
print self
countdown = int(random.uniform(2, 4) ** self.request.retries)
print countdown
raise self.retry(countdown=countdown)
publish('16182', msg, _callback, _error)
print 'returning success to celery'
current_task.update_state(state='PROGRESS', meta={'description': 'Doing some task', 'current': 59, 'tota': 73})
任務在這裏,我想只有在回調方法,即成功或失敗的任務標記爲已成功/失敗。但是,只要此函數返回,任務就被標記爲成功(發佈本身就是異步調用)。
我該如何處理?
我已經嘗試將任務標記爲PROGRESS
作爲最後一行。