我想使用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()