使用transaction.atomic()和transaction.commit()

时间:2018-08-06 20:45:23

标签: django transactions celery django-celery django-1.8

我正在跟踪代码块

def db_insert():

    success = True

    with transaction.atomic():
       try:

       '''
        Some data base inserts
       '''

       except:
          success = False


    if success:
        transaction.commit()
        celery_task.delay()

    return

我想了解有关交易和芹菜任务的几件事

  • 该交易是否会提交两次?
  • 如何测试交易是否提交两次?
  • 是否有更好的方法来确保celery任务能够读取在事务中写入的数据?

注意-Django版本为1.8。同样,无法升级到1.9或使用其他软件包

0 个答案:

没有答案