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


How to setup cron script in moodle through plugin

我想在blocks/plugin_name/cron.php上创建的计划intervels上运行我的cron脚本。请帮助我如何创建和调用这个cron脚本以在常规intervels下运行。

Cron.php是旧方法,您应该在blocks/plugin_name/lib.php 中创建一个function plugin_name_cron()

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

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

所以每15分钟就是

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

0秒意味着永远不要运行cron。

这也取决于正在运行的管理cron。如果管理cron每60分钟运行一次,那么插件cron将只每60分钟一次。

为了进行测试,您可以从http://yoursite.com/admin/cron.php

如果您想将cron安排在某个时间运行,那么您需要向cron函数添加一些代码来计算计划的时间。

编辑:

实际上,对于块,cron函数略有不同。在你的班级class block_plugin_name extends block_base.. 中创建一个function cron()

更新:

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