使用PHP启动可能需要很长时间的脚本运行

时间:2019-05-29 11:50:56

标签: javascript php python curl email-validation

我已经建立了一个表单,该表单会将成千上万的电子邮件分成一个数组。然后,我使用DeBounce API验证这些电子邮件,如果它们通过验证,则会将它们添加到我的邮件列表中。

验证可能需要一些时间,目前正在浏览器会话中运行,因此看起来好像没有任何活动。我知道我可以创建一个PHP后台进程来单独执行到浏览器会话,但是这样做也有很多陷阱。

对于将任务交给从属进程的最佳方法的任何建议,我将不胜感激。例如,我想象用户可能会完成表单,按Submit,PHP将创建一个数组并将其传递给Python脚本,然后该脚本将在后台执行。不一定要使用Python,但最好是运行不会对Web服务器造成压力的东西。

也许它甚至可以通过脚本监视文件夹来工作,直到它充满了PHP的JSON输出?我不确定在这种情况下的最佳做法,将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

似乎可以通过实现异步任务队列来解决您的问题。您可以使用消息代理(例如RabbitMQAWS SQSRedis)来实现任务队列。调用DeBounce API验证电子邮件的任务可以用python或您的消息代理支持的任何其他语言来实现。该任务将订阅您使用所选消息代理创建的任务队列。每当提交表单时,都会向任务队列发送一条消息。调用DeBounce的任务将异步运行。

Diagram

您可以refer本教程使用RabbitMQ创建异步任务队列。