我想在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