새 작업이 처리 될 때마다 작업 기록 레코드를 만드는 작업이 있습니다. 태스크 함수의 시작 부분에서 새 TaskHistory 인스턴스를 인스턴스화합니다. 어떤 이유로 이전 작업에서 할당 된 TaskHistory 클래스 속성은 후속 작업에서 TaskHistory 클래스 속성에 할당됩니다. 이 실패 할 수 있습니다 후속 작업에서는셀러리 작업이 후속 작업에서 로컬 인스턴스 속성을 지정합니다.
task_history.meta['success'] = 'Successfully processed {} rows '.format(row_count)'
을 내가 지정 : 작업이 성공하면 예를 들어, 내가 지정
가task_history.meta['error'] = 'Processed {} rows '.format(row_count) + str(e)
후속 작업은 메타 [ '오류'] 지정해야하지만 할당하는 것 task_history가 reinstantiated 경우에도 이전 메타 [ '성공'] 값. 이 내가 설정 방법 셀러리하지만 무관했다 결국
@task
def csv_import(file_ids, requester=None):
task_history = TaskHistory()
task_history.requester = requester
task_history.status = 'pending'
task_history.started = timezone.now()
task_history.save()
row_count = 0
try:
//main logic goes here
task_history.status = 'completed'
task_history.completed = now()
task_history.meta['success'] = 'Successfully processed {} rows '.format(row_count)
task_history.save()
except Exception as e:
task_history.status = 'failed'
task_history.completed = timezone.now()
task_history.meta['error'] = 'Processed {} rows '.format(row_count) + str(e)
task_history.save()
raise Exception