【问题标题】:daemon software to update mysql database in background后台更新mysql数据库的守护程序软件
【发布时间】:2011-08-24 21:54:40
【问题描述】:

我正在编写一个实时 wep 应用程序,类似于拍卖网站。问题是我需要一个守护程序脚本,最好是 php,它在后台运行并不断向 mysql db 发起查询,并根据一些标准(来自结果集的时间和条件)更新其他表。守护进程的性能至关重要。示例用例:我们的交易将在 2:37 分钟后到期。即使没有人在观看/竞标它,我们也需要在它开始后的 2:37 准确地过期。

任何人都可以推荐一种最好地执行此类任务的编程技术/软件吗?

提前致谢

更新:需要在交易到期时执行查询,无论用户是否访问过它。

【问题讨论】:

标签: php mysql web-applications real-time daemon


【解决方案1】:

为什么需要按时间间隔触发查询?你不能改变你的前端的工作方式吗?

例如,在“交易”页面中,仅显示尚未过期的交易 - 简化示例:

SELECT * FROM Deal WHERE NOW() <= DateTimeToExpire

根据“订单”页面,只有在时间尚未到期时,交易才能成为已下订单。

【讨论】:

  • 它需要向打开它的每个人显示它已过期,因此此信息通过 nodejs 或 phpdaemon 推送给客户端,所以问题是我们需要通知每个人特定已过期。
  • 那么,为什么nodejs 不能将当前时间与Deal.DateTimeToExpire 比较并通知对交易感兴趣的客户?
  • 你想要在其他表中的更改,它们是为了处理其他操作,例如发送电子邮件吗?
  • 我忘了说真正的问题,你的选择是对的 - 它会起作用,但我需要通过系统用户获胜来使其过期 - 这就是问题,抱歉,忘了提及那
  • @bytes85:我认为您应该更新您的问题,添加此信息。我想当时间过去(并且交易到期)时,您想在一个或多个其他桌子上创建INSERT(或UPDATE)。
【解决方案2】:

您的守护程序是否需要立即触发操作?如果您需要一个包含过期状态作为列的表,您可以即时计算过期值或定义一个视图?然后,如果您必须发送电子邮件或进行一些清理工作等,您可以使用守护程序/cron 作业每 10 分钟左右查询一次视图。

【讨论】:

  • 谢谢,但见上文,我错过了一个重要问题,我需要通过系统用户获胜来使其过期,并且所有观看它的人都需要看到这个
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-11
  • 1970-01-01
  • 2012-05-19
  • 2018-09-23
  • 2011-03-27
  • 2018-06-25
相关资源
最近更新 更多