Coldfusion 如何通过cfschedule将参数传递给计划任务?

Coldfusion 如何通过cfschedule将参数传递给计划任务?,coldfusion,quartz-scheduler,Coldfusion,Quartz Scheduler,是否有任何方法可以传递参数或与计划任务共享数据?我知道您可以将可序列化参数传递给Quartz作业,但这在cfschedule中似乎不可用。实现这一点的选项有哪些?您可以在URL属性的查询字符串中传递这些选项 example.com/index.cfm?param1=value1¶m2=param2 如果您的数据很复杂,您可以在接收任务之前将其序列化为JSON,并在接收任务中使用反序列化JSON。最简单的方法是使用一个.cfm文件,该文件由cfschedule调用,它本身调用CFC并传递所

是否有任何方法可以传递参数或与计划任务共享数据?我知道您可以将可序列化参数传递给Quartz作业,但这在cfschedule中似乎不可用。实现这一点的选项有哪些?

您可以在URL属性的查询字符串中传递这些选项

example.com/index.cfm?param1=value1¶m2=param2


如果您的数据很复杂,您可以在接收任务之前将其序列化为JSON,并在接收任务中使用反序列化JSON。

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

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

可以在这里买到

重要的是,您必须将调度程序实例化到应用程序范围中,并由运行以下命令的cfschedule调用.cfm:


如果您只有一个需要频繁调用参数的方法,那么Scheduler.cfc比简单的解决方案更具杀伤力,但是如果这是一个需要更频繁地解决的一般问题,那么它可以得到很好的回报。

是的,但不幸的是,我将任务的逻辑封装在cfc中,通过新的事件处理程序属性调用。我最终将登录名从cfc中取出,并在查询字符串中传递参数。您的解决方案也很好,我将考虑将CFC名称作为参数,并用CFM实例化它并传递剩余的参数。