【问题标题】:Stop automatically a task (Viewflow, Django)自动停止任务(Viewflow,Django)
【发布时间】:2020-06-22 11:13:52
【问题描述】:

我已拆分流程并将多个任务分配给不同的用户。我该怎么做:

  1. 一定时间后停止所有任务?
  2. 收集可用的响应?

【问题讨论】:

  • 您是否考虑过在模型中创建一个 DateTimeField 来控制您的流程并在用户尝试与您的流程交互时对其进行检查?
  • @JorgeMauro 这样如果没有人回答我就无法结束流程

标签: django django-views django-viewflow


【解决方案1】:

验证您的流程应在视图内结束的日期时间

至少有一次您必须访问某些视图以验证流程是否已结束。在那里,您可以实现下面 views.py 中提供的一部分 sn-p。

在您的模型中使用 @property 标记可以让您执行一些即时验证,并在请求时将其作为模型属性返回。

参考:https://docs.djangoproject.com/en/3.0/glossary/#term-property

示例:https://docs.djangoproject.com/en/3.0/topics/db/models/#model-methods


models.py

from django.db import models
from django.utils import timezone

class Flow(models.Model):
    ends = models.DateTimeField

    @property
    def is_active(self):
        return timezone.now() < self.ends

views.py

from django.http import HttpResponse

def interact_with_flow(request, pk)
    if Flow.is_active:
        status = 'Flow Active'
    else:
        status = 'Flow Ended'
    return HttpResponse(request, status)

【讨论】:

  • 谢谢,我可以使用该解决方案来解决问题。你知道有没有办法终止 views.pyelse 中的一组任务?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-08-03
  • 1970-01-01
  • 2019-01-16
  • 1970-01-01
  • 2022-01-01
  • 1970-01-01
  • 2010-10-07
相关资源
最近更新 更多