我有一个带有控制器的MVC框架。控制器从服务器下载图像。我需要每隔5分钟用这些图像刷新我的数据库。所以,我计划创建php脚本,下载文件并将其保存到我的数据库中。为了每5分钟做一次。我将成立Cron工作。
现在的问题是,
在php脚本中处理错误的最佳做法是什么?
因为Cron会在不知道最后查询过的图像已经丢失且没有保存的情况下每5分钟继续执行一次。
如何通知自己发生了异常情况,我需要自己保持数据库的一致性(对于少数情况我不介意)。
答案 0 :(得分:1)
在php脚本中处理错误的最佳做法是什么?因为 Cron将在不知道的情况下每5分钟继续执行一次 最后查询的图像已丢失且未保存。
使用如此处所述的断言:http://php.net/manual/en/function.assert.php
我如何通知自己发现了一些不寻常的事情,我需要这样做 我的自我保持数据库的一致性(我不介意少数 实例)。
在断言中使用mail()
答案 1 :(得分:1)
将try-catch与数据库事务一起使用(如果可能)。您可以将错误转储到error_log(),并将其设置为生成电子邮件或向错误处理程序添加电子邮件。
答案 2 :(得分:1)
除了其他评论。我经常发现它在cron脚本中很有用,这些脚本可能会遇到问题,或者需要比执行多个执行实例所需的执行间隔更长的时间,提供一些指示上次执行时间,执行成功等的文本文件,你可以检查以确定脚本是否应按计划运行。它可以像在脚本启动时编写文件一样简单,在成功执行时删除它,然后在下次执行时检查该文件以决定是否运行。