PHP取消链接功能和cron作业

时间:2017-12-14 09:53:03

标签: php cron unlink

我正在使用cron job来执行用于发送消息的php文件。在我将通过cron job命令运行的php文件的末尾,我将添加unlink(__FILE__);

此unlink功能是否在发送所有消息后删除当前文件?

我不确定这就是我要问的原因,因为发送邮件需要一些时间,我希望在发送所有邮件之后删除我的文件,而不是在中间。

二;如果发送邮件有错误会发生什么? 如果有任何错误,我如何被告知? 因为该函数已经删除了php文件! 如果有错误,我如何找出错误?

2 个答案:

答案 0 :(得分:0)

我不知道你是如何发送这些邮件的,但如果你的脚本使用同步方式(如SMTP服务器)来执行,那么当你的脚本按顺序执行时,unlink()调用将在之后进行每一次。

对于错误处理,我建议您将它们记录到文件或数据库中。您可以使用Monolog之类的广泛库来轻松完成。

答案 1 :(得分:0)

这不是要走的路。基于删除源代码创建功能是您不想遵循的道路。一个混乱和另一个文件可能会被删除,一个没有备份(但我们都有备份,对吗?))

相反,我建议您只需更新数据库。您已存储消息。发送每条消息后,您将更新数据库并设置sent=1。下次运行此脚本时,它应忽略sent=1所有位置,现在您不会发送重复项。
您现在还可以根据消息检查是否存在错误并进行记录。如果一切正常,您还可以将数据库更新为发送消息的时间。

回答实际问题:是的,应该。它可能是时间或编码错误。这很难调试,因为文件会自行删除;)