1

为了创建流程验证,我正在使用“Django-Viewflow”库 ( http://viewflow.io/ ) 实现工作流。

当我将每个任务分配给具有固定数量的验证级别的特定验证器(用户)时,一切正常。

我的问题是:

当验证器的数量发生动态变化(n 个验证级别)时,如何使用这个库?

1- 选择验证器(1、2、3 或 n 个验证器)。

2- 在“flows.py”中使用 for 循环来执行 n 个验证任务。

如何在文件“flows.py”中包含 for 循环?

我的flows.py:(具有一个验证级别)

from viewflow import flow, lock
from viewflow.base import this, Flow
from viewflow.contrib import celery

from viewflow.views import  ProcessView, StartProcessView
from viewflow.lock import select_for_update_lock
from django.contrib.auth import get_user_model

from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from . import models, tasks, views

class CongeFlow(Flow):  
    process_cls = models.CongeProcess
    lock_impl = select_for_update_lock       

    start = flow.Start(views.startProcess) \
        .Next(this.assign) \

    assign = flow.View(views.approve_conge) \
        .Assign(lambda p: get_user_model().objects.get(id=p.validator1)) \
        .Next(this.check_refuse)

    check_refuse = flow.If(cond=lambda p: p.refuser) \
        .OnTrue(this.end) \
        .OnFalse(this.check_approve)   

    check_approve = flow.If(cond=lambda p: p.valider) \
        .OnTrue(this.end) \
        .OnFalse(this.assign)

    end = flow.End()
4

1 回答 1

0

如果您需要一个验证器的顺序验证,然后另一个验证器,flow.If如果验证的数量不够,您可以指向验证步骤。

如果您想让验证器并行工作,您可以查看动态拆分示例

https://github.com/viewflow/viewflow/tree/master/examples/customnode

于 2015-12-08T01:55:09.180 回答