首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Coldfusion 10调度器

Coldfusion 10调度器
EN

Stack Overflow用户
提问于 2013-08-08 09:36:30
回答 2查看 740关注 0票数 3

我想实现以下使用Coldfusion10Scheduler。

  • 我有一个预定的任务,比如说Task1。Task1应该在没有任何时间延迟或重叠的情况下连续执行。即

如果Task1需要10分钟,那么它应该在第11分钟再次触发。如果下一次跑步需要20分钟,那么它应该只在21分钟触发。

请指点。

EN

回答 2

Stack Overflow用户

发布于 2013-08-08 15:07:08

这是可能的,但不是直接的。调度的任务可以在“链”中运行另一个任务,但是被链接的任务必须是“链”类型的任务。但是,可以让一个任务通过代码运行另一个任务。

这是你怎么安排的。

  1. 设置任务A只运行一次。
  2. 将任务B设置为链式任务。
  3. 将任务A配置为通过on完全事件完成任务B时调用任务B。
  4. 在任务B的代码中,让它运行任务A。

这应该会创建一个无限循环。但请注意,这可能会导致一些不必要的行为。你将不得不自我管理错误和失败。此外,如果链周期被中断,您将不得不重新启动它。

您可以设置一个监视任务,以确保链正在运行。如果它看起来失败了,您可以调用Task来启动这个链。

票数 2
EN

Stack Overflow用户

发布于 2013-08-08 12:23:39

以下是应遵循的战略:

1)创建一个带有字段的表,以跟踪脚本是否正在使用。示例表: ScheduleStatus,字段: intInUse

2)创建脚本。让脚本的第一行检查intInUse字段是否为null。如果是,那么将其设置为1,然后运行脚本的其余部分。如果字段不是null,则跳到cfabort。

3)脚本完成后,再次将数据库字段标记为NULL。

4)设置计划任务,使其每分钟运行一次。它将每分钟执行一次,如果脚本正在使用,它就会中止。

可能还有其他的方法,通过循环等等.但这可能是最简单的。

我在排队系统中使用了类似的方法,即发送自定义的通讯。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18122627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档