我想按照在blocks / plugin_name / cron.php创建的预定时间间隔运行我的cron脚本。请帮我如何创建并调用此cron脚本以定期运行。
答案 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
取代