为了创建一个流程验证,我使用“Django”库(http://viewflow.io/)实现了一个工作流。
当我将每个任务分配给具有固定数量验证级别的特定验证器(用户)时,所有任务都可以正常工作。
我的问题是:
当验证器的数量发生显式更改(n验证级别)时,如何使用此库?
1-选择验证器(1、2、3或n个验证器)。
2-使用"flows.py“中的for循环来执行n个验证任务。
如何在文件"flows.py“中包含for循环?
My 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()发布于 2015-12-08 01:55:09
如果您需要由一个验证器进行顺序验证,那么另一个验证器可以将flow.If指向验证步骤,如果验证次数不是enougth的话。
如果希望验证器并行工作,则可以看到动态拆分示例。
https://github.com/viewflow/viewflow/tree/master/examples/customnode
https://stackoverflow.com/questions/34065576
复制相似问题