配置守护进程 cron.php
  • 提交:天一
  • 时间:08-04-27 22:43
  • 更新:10-10-31 14:01

一些Moodle的模块需要持续的检查来完成任务。 例如,Moodle需要检查讨论组以便它能够通过邮件的方式给订阅者发送拷贝。


完成这些任务的脚本放置在管理员目录下,叫做 cron.php。 然而,它自己不会自动运行,所有你需要设置一种机制让这个脚本有规律的运行 (例如:每5分钟或10分钟)。 这提供了 "触发器(heartbeat)" 所以脚本能够执行每个模块预先定义的功能。 这种规律的机制也被叫做 守护服务.


注意,运行守护进程的机器 不一定需要是跟运行Moolde的机器是同一台机器。例如, 你有一个仅提供有限服务的主机,不支持守护进程,那么你可能选择运行守护进程在一台其他的服务器上或在你家里的计算机上。 所有这些因素围绕 cron.php 文件需要被规律的调用。


这个脚本的负载不是很大,所以5分钟的间隔通常是合理的, 但如果你还担心负载的问题,你可以缩短时间间隔到15分钟或者甚至是30分钟。 但最好不要让时间间隔太长,因为延迟的邮递任务会让课程活动的速度减慢。


首先,测试脚本能够直接从你的浏览器中运行:


http://example.com/moodle/admin/cron.php

现在,你需要设置一种途径让脚本能够自动的有规律的运行。


在 Windows 系统



最简单的办法是使用这个小包 moodle-cron-for-windows.zip ,这个包使得事情变得非常简单通过安装一个小的Windows服务。运行它并且忘了它!


本站下载:moodle-cron-for-windows


类型:文件
下载:下载次数:776条件:开放软件大小:318.03K


在主机托管服务



你的web控制面板一般会有一个页面,允许你来设置这个守护进程。例如,在 Cpanel 系统,查找一个叫做 "守护任务(Cron jobs)" 的按钮。 在那里,你可以输入一小段像下面列出这样的 Unix 命令。


在Unix下使用命令行



从命令行环境你可以使用不同的命令行程序来调用这个页面。并不是所有的在一个给定的服务器上都适用。


例如,你可以使用 Unix 工具像 'wget':


wget -q -O /dev/nullhttp://example.com/moodle/admin/cron.php

注意,在这个范例中输出被丢弃了(输出到 /dev/null).


相同的事情使用 lynx 完成如下:


lynx -dumphttp://example.com/moodle/admin/cron.php > /dev/null

作为选择,你可以使用标准版本的 PHP, 编译成允许从命令行运行。 这样做的好处是,你的web服务器日志不会被固定的到 cron.php 的请求填满。 不好的地方在于你需要具有访问命令行版本php的权限。


/opt/bin/php /web/moodle/admin/cron.php


在Unix环境下使用 crontab 程序



Cpanel 完成这个任务所做的工作就是提供一个web接口到一个叫做crontab的Unix 工具。如果你有一个命令行环境,你可以自己设置 crontab 工具通过命令行:


crontab -e

然后,添加一个行命令像下面这样:


*/5 * * * * wget -q -O /dev/nullhttp://example.com/moodle/admin/cron.php

通常, "crontab" 命名将把你带入到'vi' 编辑器环境。 你按下 "i" 进入到"插入模式", 然后输入像上面给出的一行,然后,按下ESC键退出插入模式。 输入 ":wq" 你就可以保存和退出,或者退出不保存使用 ":q!" (输入时不要包含引号)。

文章推荐

    Loading...

人气排行

    Loading...
[ 简体中文 ] [ 简改蓝 ] 管理模式
Copyright ©2005 - 2008 www.emoodle.org
Processed in 0.009(s) Powered by Hutula 1.0

浙ICP备08007391号-1