gpt4 book ai didi

php - 如何检查拍卖是否完成 - 触发 PHP 处理

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

我对此有一些想法,但这是我需要做的,真的只是想要一些第二意见。

我正在用 PHP/SQL 编写一个小型拍卖网站,但遇到了障碍。

当一件商品完成时,就像 eBay 一样,我需要能够知道它已经完成并向赢得它的人和售出它的人发送电子邮件。

我能想到的唯一方法是安排一段代码来不断检查哪些拍卖已经结束,但肯定有更好的方法吗?

最佳答案

解决方案可以分为多个部分:

  • 通过 Cron 启动的脚本(每 5 分钟一次可能很好,甚至更少...)。它检测完成的拍卖并将它们放入队列中

  • 一个脚本,它几乎连续运行,并且处理队列中的项目

    <

请注意:

  • 在显示页面之前,您必须确保拍卖仍在进行中! (一个简单的测试)这样人们就无法在它关闭后加入。
  • 对于每个脚本,您可以使用 PHP 或任何其他语言

优点:

  • cron 作业速度非常快,资源消耗低,如果有大量拍卖要处理,则不会有并行运行(然后发生冲突)的风险
  • 队列系统确保您的系统不会因为发生太多事情而崩溃...它会尽快处理队列,但如果速度不够快,网站将继续运行。但是,您最终可能会在拍卖结束后数小时或数天发送电子邮件。但“限制”更容易预测,不会使您的系统崩溃。
  • 您可以在未来通过队列的多线程处理、分布式处理……扩展它,这是一个可扩展的架构。
  • 这个架构很有趣。

其他信息:

  • 关于守护程序脚本,我不必连续运行。您可以做的是:在 cron 作业结束时,如果队列中有项目,则它会检查其他脚本(处理)是否正在运行。如果是,则退出。如果其他脚本没有运行,它会启动它...
  • 守护程序脚本从队列中取出一个项目并处理它。最后,如果队列中还有项目,它会处理它,否则,它会退出。
  • 有了这个系统,一切都是最优的,每个人都彼此相爱!

要检查其他脚本是否正在运行,您可以使用一个文件并在其中写入“1”或“0”(= 正在运行/未运行)。第一个脚本读取它,第二个脚本写入它......你也可以使用数据库来完成。或者您可以使用系统工具或 shell 命令...

关于php - 如何检查拍卖是否完成 - 触发 PHP 处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5964407/

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