如何解决Cron作业运行错误

时间:2013-07-15 07:29:02

标签: php mysql cron

我有 cron 工作(PHP)来获得N个销售人员的销售佣金。它在一个月内运行一次。

它有多个标准来计算每个销售人员的佣金,并可由管理员更新。

检查cron是否已经为所有销售人员运行的最佳方法是什么,如果不是,我如何获取详细信息并重新运行cron?

注意:使用 MySql

请帮忙

2 个答案:

答案 0 :(得分:0)

Cpanel cron职位通常有cron电子邮件选项。这会将cron作业的结果发送到电子邮件地址。如果您在使用cron作业时遇到问题,请将其设置为每分钟运行一次,这样您就可以获得电子邮件输出并从那里开始。
另一种选择是将php邮件功能添加到执行cron作业的脚本中:

<?PHP

//mail variables    
$emailAddress = "your@email.net";  

$subject = "Email Subject";    

$message = "Sales person 1 commission = $salesPersonOneVariable";  
$message.= "Sales person 2 commission = $salesPersonTwoVariable";    
$message.= "Sales person 3 commission = $salesPersonThreeVariable";   

$headers = "MIME-Version: 1.0" . "\r\n";    
$headers.= "Content-type:text/html;charset=iso-8859-1" . "\r\n";    
$headers.= 'From: noreply@yourdomain.com' . "\r\n" .      
            'Reply-To: noreply@yourdomain.com' . "\r\n" .        
            'X-Mailer: PHP/' . phpversion();

//mail function    
mail($emailAddress, $subject, $message, $headers);    

?>

使用此功能,您可以将脚本中的任何信息/变量添加到$ message变量中,以便您可以验证脚本的某些部分是否已成功完成。
如果需要,标题可让您选择在电子邮件中包含html。

答案 1 :(得分:0)

* * 1 * *  php /yourjob.php >> /var/log/monthly_sales.log

执行类似的操作,将所有调试信息回显到日志文件中,然后检查该日志文件以查看发生了什么或出了什么问题。打开error_reporting。