如何通过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 比简单的解决方案就大材小用了,但如果这是一个你需要更频繁地解决的一般问题,那么它可以得到很好的回报。
有什么方法可以给定时任务传递参数或者共享数据吗?我知道您可以将可序列化的参数传递给 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 比简单的解决方案就大材小用了,但如果这是一个你需要更频繁地解决的一般问题,那么它可以得到很好的回报。