Windows下的drupal一个Cron的方法,原作者zealy http://72.44.80.160/node/510

怕不知道什么时候这篇文章就没了,所以先转到这里,感谢zealy

由 zealy 于 星期六, 2006-04-29 17:19 发表

因为看到很多关于Cron的问题的帖子,提供一个Windows下的Cron方法。

Drupal的cron task中会执行许多任务,例如建立索引、清除过期日志、收集聚合新闻什么什么的,如果不cron,你必定会损失功能。

执行Cron的方式很简单,就是访问你站点根目录下的cron.php。只要访问就可以,包括没事儿时用浏览器访问一下也可以。

但是我们一般需要自动访问。在Unix类系统下可以用crontab功能实现,在Windows下虽然有计划任务,但是不能配置成隔一阵子访问url。这时可以安装poormanscron模块,此模块会在用户浏览页面时调用cron的功能,也就是说,只要有用户在访问你的网站,就相当于他们也帮你浏览了cron.php。

但我在用poormanscron模块时碰到这样一个问题,有时候cron任务可能会失败,或者报错,这时这个帮你点cron.php的用户可能页面访问失败或者看到些错误信息,有些让人莫名其妙。

我写了这么个VbScript脚本,一直在用,提供给大家参考:

Function do_check
    wscript.sleep 3000

    if objIE.Busy then
        do_check
    else
        objIE.quit
    end if
End Function

Dim objIE
    Set objIE = WScript.CreateObject("InternetExplorer.Application")

    objIE.width=300

    objIE.height=150

    objIE.navigate "about:blank"

    objIE.left=fix((objIE.document.parentwindow.screen.availwidth-objIE.width)/2)

    objIE.top=fix((objIE.document.parentwindow.screen.availheight-objIE.height)/2)

    objIE.Navigate "http://www.example.com/cron.php"

    objIE.Toolbar = false

    objIE.Visible = true

    do_check

保存为硬盘上的一个文件,如sitecron.vbs,然后在计划任务里配置成N分钟执行一次即可。这样用户不会看到cron的错误提示。
希望对大家有帮助!

Tags: