gpt4 book ai didi

php - 对于某些参数仅触发一次计划任务

转载 作者:行者123 更新时间:2023-11-29 22:26:45 24 4
gpt4 key购买 nike

我最近想知道我在工作中遇到的一个问题。我需要根据数据库中的记录日期(例如事件开始)执行一些操作,检查事件是否开始,然后发送一些电子邮件。这里的问题是只做一次。由于事件只是在后台启动,我认为 CRON/Scheduler(在这种情况下为 Indatus/dispatcher)是在这里实现的最佳选择,因为我可以每 5 分钟运行一次脚本来检查是否出现一些新事件,但真正的问题是您如何标记已对此事件采取实际行动。我正在考虑某种日志表,其中包含操作名称和 2 列参数来保存操作实际触发的 ID,例如

id    name    id_parameter_1    id_parameter_2

并像这样存储记录,但我认为当有更多记录时,随着时间的推移,它可能会大大减慢(仅按最后5-10分钟过滤数据库记录会有所帮助,但仍然......)。您在这方面有什么特别的经验可以指导我并分享一些想法吗? :)

最佳答案

如果您每个事件只有一个操作,例如当它开始时发送电子邮件,为什么不直接使用标记列来扩展事件表来标记您是否发送了邮件?这样您就可以避免与另一个仅保存操作的表进行 JOIN。

如果您必须将其分开,那么我会选择您建议的表格,但我不确定您是否需要这些参数列,这最终并不那么重要。如果每个事件只有一个操作,那么我认为您可以安全地删除额外的键(id),而只需拉入事件主键。您可以使用它来联接表,并且事情不那么复杂并且可能更快,就像在单个查询中一样,从事件表中提取日期(假设它在那里)并从新表中提取操作,通过搜索和联接相同的事件索引。

只是我的想法。希望对您有所帮助。

关于php - 对于某些参数仅触发一次计划任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30212912/

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