如何通过插件在moodle中设置cron脚本

时间:2015-02-10 06:50:06

标签: php cron moodle

我想按照在blocks / plugin_name / cron.php创建的预定时间间隔运行我的cron脚本。请帮我如何创建并调用此cron脚本以定期运行。

1 个答案:

答案 0 :(得分:5)

Cron.php是旧方法,您应该在function plugin_name_cron()

中创建blocks/plugin_name/lib.php

然后在version.php中你有一个cron参数,告诉Moodle每​​x秒运行一次插件。

$plugin->cron = 0; // Seconds.

所以每15分钟就是

$plugin->cron = 15*60; // Seconds.

0秒表示永远不会运行cron。

这取决于运行的admin cron。如果admin cron运行60分钟,那么你的插件cron将每60分钟运行一次。

对于测试,您可以从http://yoursite.com/admin/cron.php

手动运行admin cron

如果你想安排cron在某个时间运行,那么你需要在你的cron函数中添加一些代码来计算出预定的时间。

编辑:

实际上cron函数对于块略有不同。在班级function cron()

中创建class block_plugin_name extends block_base..

更新:

从Moodle 2.7+开始,上述内容已被计划任务https://docs.moodle.org/dev/Task_API#Scheduled_task_usage

取代