如何通过cfschedule给定时任务传递参数?

How to pass parameters to scheduled task via cfschedule?

有什么方法可以给定时任务传递参数或者共享数据吗?我知道您可以将可序列化的参数传递给 Quartz 作业,但这在 cfschedule 中似乎不可用。有哪些选择可以实现这一目标?

您可以将它们传递给 URL 属性的查询字符串。

示例。com/index.cfm?param1=value1¶m2=param2

如果您的数据很复杂,您始终可以先将其序列化为 JSON,然后在接收任务上使用反序列化JSON。

最简单的方法就是拥有一个由 cfschedule 调用的 .cfm 文件,它本身调用 CFC 并传递所需的方法。

如果您想要一个更灵活的解决方案,我有一个 Scheduler.cfc 允许您以您想要的频率调用方法,甚至可以为方法调用传递参数。

http://www.bryantwebconsulting.com/blog/index.cfm/2009/2/26/Schedulercfc-10

这里可以拿到。

https://github.com/sebtools/com.sebtools/

重要的是您必须将 Scheduler 实例化到应用程序范围和由运行的 cfschedule 调用的 .cfm:

如果你只有一个需要经常调用参数的方法,那么 Scheduler.cfc 比简单的解决方案就大材小用了,但如果这是一个你需要更频繁地解决的一般问题,那么它可以得到很好的回报。