gpt4 book ai didi

loops - 一万个 cron 作业或循环一万次?

转载 作者:行者123 更新时间:2023-12-02 10:32:18 26 4
gpt4 key购买 nike

我有一个网络应用程序,可以全天根据用户选择的时间向他们发送自定义电子邮件。因此,在一天中的任何特定时间,我可能什么都不用做,或者发送多达一万封电子邮件。

之前我用一个 cron 作业解决了这个问题,每分钟触发一次。它将调用一个脚本来查找接下来需要发送的一千封电子邮件。该脚本会将它们全部标记为“正在进行中”,然后循环遍历它们,尝试发送它们。循环很繁重 - 调用远程 API 发送电子邮件、将记录更新为“已发送”、记录操作。我发现的问题是,循环偶尔会中断、失败,服务器会闪烁,并且数百封电子邮件会被标记为“正在进行”。

我现在重写了循环,以获取需要发送的一封电子邮件,将其标记为“正在进行”,发送它,将其标记为“已发送”,记录它,然后获取下一封。我运行它一分钟,想循环多少次就循环多少次。但这确实是CPU密集型的,而且看起来效率很低,有很多数据库调用。

我现在在想,每封每日电子邮件都应该有它自己的 cron 作业。然后我最终会得到一万个或更多的工作调用特定的网址,如 http://mydomain.com/email/123/send 。我担心的是,我需要更新 cron 作业来更新时区和用户首选项更新(“在下午 6 点而不是上午 10 点向我发送电子邮件”)。所以我正在以编程方式重写我的 crontab,并且可能经常重写。

你会如何解决这个问题?顺便说一句,您知道有哪些网络服务旨在解决这个问题吗?

最佳答案

10,000 个 cron 作业将导致 10,000 个可执行文件运行。我怀疑这将是您可用的可扩展性最低的选项。

关于loops - 一万个 cron 作业或循环一万次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12726415/

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