2012-07-20 74 views
1

完全不熟悉drupal。drupal - 安排脚本在特定时间运行

我正在构建一个模块,让用户通过表单指定运行外部脚本的时间。我想我需要玩hook_cron?但根据我的理解,它只在cron运行时运行。那么,每次用户提交表单时,我该如何告诉Drupal在这个时间以及那个时候运行这个工作?

例如,形式类似于:

Start: 10:00 am 
End: 11:00 am 

<Submit> 

因此,当用户提交,Drupal将首先在上午10点再次上午11时运行的脚本(我的模块中定义)。

我需要什么模块/钩子?

+1

cron完全是在间隔运行。所以你不能设置日期/时间来运行。相反,一个间隔。在你的hook_cron()中,你可以加载数据并检查当前时间是否已经通过它。 cron运行的频率越高,脚本运行的准确度就越高。检查phpjobscheduler(不是Drupal - 一个独立的项目)如何做到这一点。 – 2012-07-20 05:25:46

+0

谢谢。我只会增加cron的频率 – BPm 2012-07-21 23:33:38

回答

0

配置您的Drupal站点每隔1分钟运行一次cron。然后在你的模块中实现一个hook_cron,并在这个函数循环中通过表单中添加的不同作业,并在通过表单输入的给定时间点运行它们。