blackholll / loonflow

基于django的工作流引擎,工单(a workflow engine base on django python)
MIT License
1.94k stars 688 forks source link

关于r1.0.9的版本,和最新版2.0.18一些问题 #473

Closed xiaofeiyang926793 closed 11 months ago

xiaofeiyang926793 commented 11 months ago

ISSUE TEMPLATE

使用的版本: r1.0.9

问题详细描述:机器人执行的时候,后端的脚本获取的值都是True,请问如何解决?

是否查看了系统日志(默认在启动用户家目录下loonflow.log):看来,鄙人看不出啥

############################################################### 使用的版本: 2.018

问题详细描述: 状态里面到了机器人-执中,这一步参与人类型没有脚本,而且工作流中也没有执行脚本的操作,是取消了吗,但是我看数据库表还在

blackholll commented 11 months ago
  1. 脚本执行结果有问题,你可以raise exception,因为脚本的执行逻辑是判断是否异常。https://github.com/blackholll/loonflow/blob/r1.0.9/tasks.py#L92
  2. r2.x版本取消了脚本执行的处理人类型, 推荐使用hook方式替代。hook的用法文档中有详细说明。这里也有个hook实现的demo: https://github.com/blackholll/loonflow_hook_demo
  3. 关于为什么要取消脚本执行: 因为脚本中如果包含长时间执行任务,且同时有多个脚本在执行时会阻塞其他正常脚本的执行,而脚本逻辑不好控制。
blackholll commented 11 months ago

见上条回复

blackholll commented 11 months ago

数据库中表还在 是因为没清理干净,3.0.1版本我会彻底清理掉

xiaofeiyang926793 commented 11 months ago

因为现在我的工作背景是希望使用脚本执行,介于1.0.9不能打印结果,所以我回退到了0.3.7版本,但是又发现了一个问题,通过脚本执行工单的时候,工单最后一步只会在机器人执行中,1.0.9版本执行工单后,工单状态直接可以到完成,如图 image 我点击了同意后,状态会一直在机器人执行中, image ,一直到不了完成 image ,我现在的需求是想要一个符合我需求的版本,脚本能接受打印到前端的内容,状态到最后能完成,请问博主应该使用哪个版本?

blackholll commented 11 months ago

1.x版本这个方法的返回值有改动。
https://github.com/blackholll/loonflow/blob/v0.3.7/service/ticket/ticket_base_service.py https://github.com/blackholll/loonflow/blob/r1.0.9/service/ticket/ticket_base_service.py 你的脚本需要改下。 另外建议用每个大版本的最新小版本。1.0.9不是最新版本。 1.x的最新版本是 1.0.14 这个是release列表: https://github.com/blackholll/loonflow/releases

blackholll commented 11 months ago

ticket_base_service.get_ticket_field_value 这个方法

xiaofeiyang926793 commented 11 months ago

如果我现在工单要使用脚本的话。并且工单转态能完成并且脚本能接受到前端的值,应该用哪个版本

---原始邮件--- 发件人: @.> 发送时间: 2023年10月24日(周二) 晚上10:30 收件人: @.>; 抄送: @.**@.>; 主题: Re: [blackholll/loonflow] 关于r1.0.9的版本,和最新版2.0.18一些问题 (Issue #473)

ticket_base_service.get_ticket_field_value 这个方法

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

blackholll commented 11 months ago

1.0.14

xiaofeiyang926793 commented 11 months ago

还是不能获取到变量值啊, image image image 用的是1.0.14

blackholll commented 11 months ago

ticket_base_service.get_ticket_field_value 返回的是一个元组 第一个元素是true或false 第二个元素是个字典。你要从字典中获取值。你用time,- =。 当然每次获取到的都是true

xiaofeiyang926793 commented 11 months ago

666666.值的问题解决了,现在还有个问题,我使用systemctl 管理loonflow,这个时候不能上传脚本,接口报错500,我使用python manage.py runserver原生启动就能上传,大佬知道啥问题不,报错500时,日志没有打印

blackholll commented 11 months ago

静态资源需要用nginx反向代理. 参考docker_compose_deploy目录下nginx.conf。 runserver可以是因为debug模式下 配置里面media目录配置可以直接上传

xiaofeiyang926793 commented 11 months ago

image 静态资源代理过啊,不然django后端加载不到css

blackholll commented 11 months ago

media目录 另外需要这目录下建个workflow_script目录(之前代码没有自动创建)