处理php脚本错误,同时由cron执行它

时间:2012-08-29 20:47:56

标签: php error-handling cron cron-task

我有一个带有控制器的MVC框架。控制器从服务器下载图像。我需要每隔5分钟用这些图像刷新我的数据库。所以,我计划创建php脚本,下载文件并将其保存到我的数据库中。为了每5分钟做一次。我将成立Cron工作。

现在的问题是,

  1. 在php脚本中处理错误的最佳做法是什么?

    因为Cron会在不知道最后查询过的图像已经丢失且没有保存的情况下每5分钟继续执行一次。

  2. 如何通知自己发生了异常情况,我需要自己保持数据库的一致性(对于少数情况我不介意)。

3 个答案:

答案 0 :(得分:1)

  

在php脚本中处理错误的最佳做法是什么?因为   Cron将在不知道的情况下每5分钟继续执行一次   最后查询的图像已丢失且未保存。

使用如此处所述的断言:http://php.net/manual/en/function.assert.php

  

我如何通知自己发现了一些不寻常的事情,我需要这样做   我的自我保持数据库的一致性(我不介意少数   实例)。

在断言中使用mail()

答案 1 :(得分:1)

将try-catch与数据库事务一起使用(如果可能)。您可以将错误转储到error_log(),并将其设置为生成电子邮件或向错误处理程序添加电子邮件。

答案 2 :(得分:1)

除了其他评论。我经常发现它在cron脚本中很有用,这些脚本可能会遇到问题,或者需要比执行多个执行实例所需的执行间隔更长的时间,提供一些指示上次执行时间,执行成功等的文本文件,你可以检查以确定脚本是否应按计划运行。它可以像在脚本启动时编写文件一样简单,在成功执行时删除它,然后在下次执行时检查该文件以决定是否运行。