我想使用celery任務創建數據庫記錄。但由於某種原因,object.save()
方法不適用於task.apply_async()
(應用任務asynchronousy)。而本地運行它Djando Celery:Celery任務不會在數據庫中創建記錄
相同的記錄(北京時間)保存在用芹菜任務數據庫:
get_all_tickers.apply()
但不保存與異步模式:
get_all_tickers.apply_async()
在這兩種情況下,INSERT語句在服務器日誌中可見。
models.py
class Ticker(TimeStampedModel):
ask = models.DecimalField(max_digits=18, decimal_places=8)
bid = models.DecimalField(max_digits=18, decimal_places=8)
pair = models.ForeignKey(Pair)
tasks.py
from celery import shared_task
...
@shared_task()
def get_all_tickers():
pair = Pair.objects.last()
ticker = Ticker(ask=Decimal(1.0), bid=Decimal(1.0), pair=pair)
ticker.save()