我想擴展djcelery taskmeta
表,例如我有一個計劃任務返回一個整數值。擴展djcelery taskmeta表
我想添加一個字段來存儲此值,以便我可以將此數據與taskmeta
表中的date_done
字段一起繪製。
我試圖創建一個新的模型,並與taskmeta
表做一個foreignkey關係,在我的任務裏面,在這個新表的基礎上在task_id
的基礎上添加一行。
但我猜,同時執行任務,我不能做,因爲我承擔taskmeta
數據尚未保存在這一點上,即:
if mover.request.id:
try:
task = TaskMeta.objects.get(task_id=mover.request.id)
extend_task_info = TaskExtended(task=task)
extend_task_info.save()
except ObjectDoesNotExist:
logger.error('Task ID: %s not in the DB' % mover.request.id)
的任務代碼增加:
@task()
def mover():
for root, dirs, files in os.walk(src_dir):
path = root.split('/')
for file in files:
counter = process_file(os.path.join(root, file))
if mover.request.id:
try:
tn = TaskMeta.objects.get(task_id=mover.request.id)
extend_task_info = TaskExtended(task=task)
extend_task_info.counter = counter
extend_task_info.save()
except ObjectDoesNotExist:
logger.error('Task ID: %s not in the DB' % mover.request.id)
您是否收到任何錯誤? – Drewness
是異常提出,任務ID:eb381eda-6f2e-4c2c-8731-f290c02e4d2d不在數據庫 –