我无法重置cron任务。 我确实强行跑,而不是跑cron而且没什么。 mymodule_queue_function - 不执行,$ count总是增加。 我在维护设置中尝试重置计数(重置统计信息),但它不起作用。 我该如何解决?
mymodule_cronapi($op, $job = NULL) {
$items['functions_cron_month_prepare'] = array(
'description' => 'users pay for services',
'rule' => '4 0 24 * *',
'arguments' => array(5),
'callback' => 'mymodule_select_month_prepare',
);
return $items;
}
// /** * Implementation of hook_cron_queue_info() */
function tariffing_cron_queue_info() {
$queues['mymodule_queue_main'] = array(
'worker callback' => 'mymodule_queue_function',
'time' => 3600,
);
return $queues;
}
function mymodule_select_month_prepare() {
if($users) {
foreach ($users as $usr) {
$usr_s[$usr['uid']][] = $usr['service_name'];
}
$n = round(count($usr_s)/4);
$items = count($usr_s) > 4 ? array_chunk($usr_s, $n, true) : array(0 => $usr_s);
$queue = DrupalQueue::get('mymodule_queue_main');
foreach ($items as $item) {
$count = $queue->numberOfItems();
$queue->createItem($item);
}
}
}
function mymodule_queue_function($data) {
watchdog('$data_users', print_r($data,true));
}
答案 0 :(得分:0)
通过替换函数名称解决了问题。但出现了另一个问题: 我的cron任务的时间是(4 0 1 * *)但现在是第25天,并且执行了作业任务。为什么??我错了什么? 可能会发生这种情况我删除了所有cron执行统计信息吗?