Django_apscheduler重复执行同一任务

时间:2019-10-10 08:55:47

标签: python django python-3.x uwsgi apscheduler

当我使用Django_apscheduler动态创建定时任务时,同一任务将被执行多次,以临时定位uwsgi启动多个进程的原因,每个进程都建立了一个调度程序,并且多个调度程序同时执行同一定时任务。我该如何解决这个问题

在查询和修改字段时,我尝试使用数据库字段作为锁和数据库行锁,但是请求是如此频繁,以致发生异常。

        with transaction.atomic():
            iLockStep = Timed_Task.objects.select_for_update().get(id=aTimeTask.id).lock_step
            if (iLockStep != 0):
                return
            aTimeTask.state = GOING
            aTimeTask.lock_step = 1
            aTimeTask.save()

0 个答案:

没有答案