gpt4 book ai didi

php - 如何执行函数直到成功?

转载 作者:可可西里 更新时间:2023-10-31 23:52:10 25 4
gpt4 key购买 nike

我正在编写一个向特定用户发送邮件的函数?

我想做的是,如果发生错误,我想继续发送邮件,直到邮件发送完毕。

    function sendmail() {
$name = mysql_escape_string($name);
$email = mysql_escape_string($email);
$phone = mysql_escape_string($phone);
$content = nl2br(mysql_escape_string($content));
$subject = "mail from ".$name." (".$email.", Ph: ".$phone.")";
$mail = @mail($feedback,$subject,$content,$headers);
if($mail) { echo "Your mailis send"; }
else { echo "We are sorry for the inconvienience, but we could not send your mailnow."; }
}

上面的函数显示错误消息,但我不想给出错误,而是想尝试发送邮件直到邮件最终发送。

最佳答案

错误处理设计:

页面无法发送怎么办?守护进程停止,用户输入格式错误的数据,连接丢失,可以写入磁盘,数据库因维护而停机等等。您希望服务器如何处理用户请求?我建议设置一个失败队列,以便稍后重试。那里有很多好的队列系统。如果必须的话,Cron 重试(这样它就不会卡在客户端请求上)。记录尝试,如果出现某些错误情况,则通知管理员。

这就是运营/基础架构团队的目标,但您可以从一些好的工具和设计良好的错误和异常处理策略开始。继承您代码的人会感谢您。

我一直在阅读 Pragmatic Programmer,我必须强烈推荐它来专门处理这个问题。它为您思考错误/异常处理的方式设定了一个标准,对我来说,绝对消除了关于什么是错误、什么是异常、什么是断言条件(或不可能的条件)的迷雾。特别是第 4 章实用主义偏执狂:

“当每个人都想害你时,偏执狂只是一种好想法”——伍迪·艾伦

关于php - 如何执行函数直到成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2855154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com