managers.py 文件源码

python
阅读 30 收藏 0 点赞 0 评论 0

项目:django-celery-monitor 作者: jezdez 项目源码 文件源码
def update_state(self, state, task_id, defaults):
        with transaction.atomic():
            obj, created = self.select_for_update_or_create(
                task_id=task_id,
                defaults=defaults,
            )
            if created:
                return obj

            if states.state(state) < states.state(obj.state):
                keep = Task.merge_rules[states.RECEIVED]
            else:
                keep = {}
            for key, value in defaults.items():
                if key not in keep:
                    setattr(obj, key, value)
            obj.save(update_fields=tuple(defaults.keys()))
            return obj
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号