Drupal действительно не предлагает ничего, кроме функциональности hook_cron.
Тем не менее, вы можете определить обычный обратный вызов меню, который выполняет любой код aribitarary, который вы хотите запустить. Просто настройте задание вручную на вкладке cron вашего сервера, чтобы запускать его в любое время
<?
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 так часто, как вы хотите
X Y * * * curl http://examplesite.com/example/cron