php – drupal的cron中的计划任务执行问题

开发技术 作者: 2024-06-27 06:55:01
我有一个名为parser2的模块,它从html页面进行解析.一切都很完美,除了cron schedule.它只是没有将我的任务添加到cron任务,并且在日志中,我看到每次cron运行时都有0个计划任务.下一个问题,如果我手动启动cron几次,在我获得白屏死机后,唯一有帮助我的东西,它从DB中删除parser2表,从system.table,然后运行update.php . 这是应该完成所有这些工作
我有一个名为parser2的模块,它从html页面进行解析.一切都很完美,除了cron schedule.它只是没有将我的任务添加到cron任务,并且在日志中,我看到每次cron运行时都有0个计划任务.下一个问题,如果我手动启动cron几次,在我获得白屏死机后,唯一有帮助我的东西,它从DB中删除parser2表,从system.table,然后运行update.PHP .
这是应该完成所有这些工作的代码,但我不明白这里的错误在哪里

function parser_cron_queue_info() {
    $info = array();
    $info['get_parser_weather'] = array(
    'worker callback' => 'parser_weather','time' => 10,);
    $query = db_select('parser_jobs','pn')
    ->fields('pn',array('id','time_run_in_crone'))
    ->condition('run_in_crone',1)
    ->execute();
    foreach ($query as $job){
        $info['get_parser_weather_'.$job->id] = array(
        'worker callback' => 'parser_weather','time' => $job->time_run_in_crone,};
  }
  return $info;
}


function parser_cron() {

  $query = db_select('parser_jobs',1)
    ->execute();
  foreach ($query as $job){
    $queue = DrupalQueue::get('get_parser_weather_'.$job->id);
    $queue->createItem($job->id);
  }


}

function  parser_weather($job_id){

    $job = parser_job_load($job_id);
   _parser_url_delete_all();
   _parser_url_add($job->start_url);
   while (_parser_url_get_not_parsed())
   {
      parser_parse2($job);
    };
}

解决方法

尝试获取代码生成的cron命令,然后在命令行中运行它以确保它是正确的,同时仔细检查脚本运行的用户是否有权添加新任务.
原创声明
本站部分文章基于互联网的整理,我们会把真正“有用/优质”的文章整理提供给各位开发者。本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
本文链接:http://www.jiecseo.com/news/show_34274.html