首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drupal Cron Hook

Drupal Cron Hook
EN

Stack Overflow用户
提问于 2012-02-14 06:41:18
回答 1查看 1.3K关注 0票数 0

我正在为一个客户端构建一个Drupal6模块,我希望每隔XYZ分钟执行一部分代码。我知道我可以实现cron_hook,但我的模块无法控制客户端的cron。不管cron设置如何,我都需要运行我的代码。你有什么想法来解决这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-14 08:49:39

除了hook_cron功能,Drupal实际上并没有提供任何其他功能。

然而,你能做的就是定义一个普通的菜单回调函数来执行你想要运行的任意变量代码。只需在服务器的cron-tab中手动设置作业,就可以在需要的时候启动它

代码语言:javascript
复制
<?
function example_menu() {

    $items = array();
    $items['example/cron'] = array(
        'title' => 'example Cron',
        'page callback' => 'example_callback',
        'type' => MENU_CALLBACK,
    );

}

function example_callback(){
      //optionally do some IP checking to make sure its not being fired by a remote request

      set_time_limit(0); //set it so your cron wont time out if it takes a long time to process ... be careful your cron doesnt run forever though

      watchdog('example', "Cron Started", array(), WATCHDOG_NOTICE);
      //execute custom code here
      for($i = 0; $i < 100; $i++){
         //do stuff
      }

      watchdog('example', "Cron Complete", array(), WATCHDOG_NOTICE);

    }

一旦你有了它,只需要设置一个cron作业来按你想要的频率点击url。

代码语言:javascript
复制
X Y * * * curl http://examplesite.com/example/cron 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9269147

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档