5.9K Star 11.7K Fork 4K

GVPdotNET China / Furion

 / 详情

在一个定时作业中同时添加多个触发器,当暂停该作业时,触发器只能停止其中的一个,其他的触发器仍然继续运行。

已完成
创建于  
2022-12-07 19:31

Furion 版本号

哪个版本号?
4.8.2.11

.NET SDK 版本号

  • .NET5
  • [] .NET6
  • [ x] .NET7

项目类型

  • WebApi
  • Mvc
  • Razor Pages
  • Blazor Server
  • MinApp
  • WinForm
  • WPF
  • Console

操作系统和版本

  • Windows(版本)
  • Linux(版本)
  • MacOS(版本)
  • 其他(版本)

代码环境

  • 开发环境(Development)
  • 生产环境(Production)
  • 测试环境(Tests/单元测试/集成测试 )

描述你的问题

发生了什么?
在一个定时作业中同时添加多个触发器,当暂停该作业时,触发器只能停止其中的一个,其他的触发器仍然继续运行。
使用项目本身的samples代码直接测试出现,代码如下:
Furion.Web.Core.Startup原代码第59行,修改原代码如下(添加多个触发器)

options.AddJob("TestJob",Triggers.Period(5000), Triggers.Period(4000), Triggers.Period(3000));

如上,在随意页面中执行如下:
var job = _schedulerFactory.GetJob("TestJob");
job.Pause();

然后会发现,上述的3个触发器,停止了1个,另外2个继续运行......

异常堆栈信息

异常堆栈是什么?

---未出现任何错误信息。

测试项目代码

⚠⚠ 必须提供完整可运行且包含错误的 Git 仓库 DEMO,DEMO 提供最简单的错误逻辑代码,否则将无法得到答复。⚠⚠

您的代码下载地址?

---无

数据库信息

  • Sqlite
  • SqlServer
  • MySQL
  • Oracle
  • PostgreSQL
  • Firebird
  • Cosmos
  • InMemoryDatabase

期待结果

期待的结果是?
当作业pause时,其所有触发器应均跟随Pause。源代码中应也是这个意思。

评论 (5)

hch 创建了任务

如果不提供demo,和好好发issue,就别发了。连代码提供都是错误的。

输入图片说明

咦?这个issue应该如何写才是“好好发”呢?
1.我写了这么多内容和代码,而且预先都是在本地测试运行正常,难道我闲来没事干,和你开玩笑吗?
2.这个代码是直接从您原代码中拷贝出来,稍经修改,也是在您的samples直接运行,可正常运行。不存在"提供代码都是错误的问题"。
3.这个代码太简单,逻辑非常明确,所以个人以为没有提供完整demo的必要。当然,如果一定要求,那提供也无妨。

Furion是个好框架,我很喜欢。你作为作者,我很敬佩。能来这里提issue,也是出于爱护、完善的心,希望能够贡献一份力量;

还请保持风度吧。

百小僧 任务状态待办的 修改为已完成

经过确认,确实是 Furion 框架问题,已修正:d7ea188

@hch 我基本上都看issue,没有代码,仅凭这几句话,谁知道发生了啥?有没有其他配置,或者啥问题,没办法定位问题,所以换个角度想,上了代码,一目了然,你说是吧

Furion v4.8.2.12 版本发布

输入图片说明

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(3)
974299 monksoul 1578937227
C#
1
https://gitee.com/dotnetchina/Furion.git
git@gitee.com:dotnetchina/Furion.git
dotnetchina
Furion
Furion

搜索帮助