欢迎各位兄弟 发布技术文章
这里的技术是共享的
一般情况下 drupal 并没有自动执行cron的功能
必须依赖linux来实现
但是这个模块 却是通过有用户访问网页来进行判断是否要执行cron
Cron.php 是Drupal 用来定时更新网站资讯的程式,其中比较重要的工作就是重建「搜寻」的索引( 如果索引没更新,就会有些文件找不到),可是Drupal 本身并没有定时执行程式的功能,必须仰赖作业系统所提供的排程程式来达成,一般来说,这个功能在Unix-Like 的作业系统上,就叫作Cron Job 或Cron Table。
虽然阿舍租的虚拟主机( Hosting ) 也有提供自定Cron Job 的功能,但是,其实除了Cron Job 以外,还要有一支可以在命令列开启网页的程式才行,阿舍的主机上没有,要协调请"阿豆子" ( 外国人) 帮忙放上,然后再设定权限,测试,颇麻烦,而且,阿舍不只一个网站而已,想起来就有点给它累了,所以阿舍就去爬文,看看有没有其他方法可用。
如你所看到的,这个"穷人的Cron Job ( Poor man's cron )" 模组,就是阿舍找到的解决方式,它的原理是利用每次访客开启网页时,检查是否已经超过设定的执行周期,如果是的话,就会顺便去执行Cron.php 这个程式,这样就可以达到类似定时执行Cron.php 的效果。
那这样会不会拖慢网页开启的速度? 据Readme.txt 的说明是说,这个模组会在整个网页载完以后才会去执行Cron.php,阿舍试了一下,好像真的不太会影响网页的读取,不过阿目前的内容还算少,所以可能有一点不准吧...呵...呵...
阿舍看了一下PO 档,项目不多,所以就顺手翻了一下,有需要的就自己载回去用,阿舍翻的比较随性,不喜欢的,请自己改过....
另外,如果有启用日志功能的话,你可以到「管理」>「日志」>「最近日志项目」看到「类型」是"Cron" 的,那个就是这个模组的执行记录,如果在设定的时间周期内没有看到任何记录,那就有问题了,可以先把频率的时间设短一点来测试,至于到底要设多久才会比较 好,看大家是说看你内容更新的频率来看,越常更新,更新的周期就要短一些。
poormanscron模组下载http://drupal.org/project/poormanscron