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

luc*_*y p 1 php cron moodle

我想在块/ plugin_name/cron.php创建的有层次的层次结构中运行我的cron脚本.请帮助我如何创建和调用此cron脚本以在常规层次结构中运行.

Rus*_*and 5

Cron.php是老样子,你应该建立一个function plugin_name_cron()blocks/plugin_name/lib.php

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

$plugin->cron = 0; // Seconds.
Run Code Online (Sandbox Code Playgroud)

所以每15分钟一次

$plugin->cron = 15*60; // Seconds.
Run Code Online (Sandbox Code Playgroud)

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