我们在项目中使用Drupal。发送邮件功能我们计划使用cronjob。我创建了自定义模块,还创建了hello_cronapi()钩子函数。我的cron名称被视为管理面板,如下面的路径。
主页»管理»配置»系统
在管理面板cronsetting页面中,检查强制运行按钮cron是否正在运行。我已经将我的cronjob设置为每15分钟,但它不会自动运行(每15分钟一次)
function hello_cronapi($op, $job = NULL){
$items['example_sendmail_cron'] = array(
'description' => 'Send mail with news',
'rule' => '* * * * *', // Every 5 minutes
);
$items['example_news_cron'] = array(
'description' => 'Send mail with news',
'rule' => '*/15 * * * *', // Every 5 minutes
// i must call: example_news_fetch('all')
'callback' => 'example_news_cron',
'arguments' => array('all'),
);
return $items;
}
function example_sendmail_cron(){
echo "Company";
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "John Doe\n";
fwrite($myfile, $txt, FILE_APPEND | LOCK_EX);
$txt = "Jane Doe\n";
fwrite($myfile, $txt, FILE_APPEND | LOCK_EX);
fclose($myfile);
exit;
}
function example_news_cron() {
echo "Company";
$myfile = fopen("newfile2.txt", "w") or die("Unable to open file!");
$txt = "John Doe\n";
fwrite($myfile, $txt, FILE_APPEND | LOCK_EX);
$txt = "Jane Doe\n";
fwrite($myfile, $txt, FILE_APPEND | LOCK_EX);
fclose($myfile);
exit;
}
在上面的cronjob中创建一个文件并将内容放入文件中。但文件不是创建
答案 0 :(得分:1)
Drupal crons不会自动运行,它们会在用户点击您的页面时运行。如果您想要预定的运行,则必须在您的网络服务器上设置cron任务。