Ten safe:一万个cron作业或循环一万次(ten tusand times ten tusand)

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

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

我现在已经重写了循环,以获取需要发送的单个电子邮件,将其标记为“正在进行”,发送它,将其标记为“已发送”,记录它,然后获取下一个。我运行它一分钟,尽可能多的循环。但这确实是 cpu 密集型的,而且似乎效率很低,有很多 db 调用。

我现在在想,每个日常电子邮件都应该有自己的 cron 作业。然后我最终有一万个或更多的作业调用一个特定的 URL,如http://mydomain.com/email/123/send。我在这里担心的是,我需要更新诸如时区和用户首选项更新(“在下午 6 点而不是上午 10 点给我发送电子邮件”)之类的 cron 作业。

你将如何解决这个问题?顺便说一句,你知道任何旨在解决这个问题的 Web 服务吗?

1

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

0

这取决于你的确切需求,尽管 10k cron 作业看起来真的很糟糕,无论如何。也许你可以有几个 cronjobs,每个 cronjobs 选择一批邮件发送,以实现并行性并避免延迟发送邮件在底部?

另外,对于“以编程方式重写我的 cron”的部分,有 cron 库可用。我通常使用Quartz为这种事情,但它可能太臃肿为您的需求,所以也许你想使用一个更轻的库。

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(467)
授权登录:更改授权 /登录页面(logo bitrix24)
上一篇
Catia动态图:串口数据动态图太滞后(data plot)
下一篇

相关推荐

  • comeandgetyourlove音乐爱就在你身边

    Come and Get Your Love是一首热门的歌曲,由美国摇滚乐队Redbone演唱。这首歌曲于1974年发行,被收录在他们的专辑《Wovoka》中。歌曲以放克曲风为主,旋律活泼,曲调悠扬,歌词朗朗上口,深受歌迷喜爱。…

    2023-06-29 07:47:31
    0 79 56
  • css预编译器: center;}

    CSS预编译器是一种用于构建CSS的工具,它可以将CSS代码转换为更易于管理和维护的格式。它们可以使CSS代码更加灵活,更易于重用,并且可以帮助开发人员更轻松地组织和管理CSS代码。…

    2023-04-30 05:19:08
    0 46 80
  • python中predict函数参数:如何使用Python的predict函数进行机器学习预测

    示例示例predict函数是scikit-learn中的一个函数,用于预测新样本的输出结果。参数:…

    2023-03-30 08:03:12
    0 50 40
  • canvas 官网Bring Your Ideas to Life with Creative Artwork

    Canvas 官网是一个用于创建图形的 HTML5 API,它可以在浏览器中使用 JavaScript 来绘制 2D 图形。它提供了一个可以在网页上绘制图形的强大工具,可以用来创建动画、游戏、数据可视化等。…

    2023-02-28 09:52:08
    0 89 19
  • qt creator快速入门 第3版 pdf从零开始

    Qt Creator快速入门第3版是一本关于Qt Creator的教程书,旨在帮助读者快速掌握Qt Creator的使用。书中介绍了Qt Creator的基本功能,如如何创建项目、编辑代码、调试代码以及创建应用程序等等。书中还提供了一些实例代码,帮助读者更好地理解Qt Creator的用法。…

    2023-05-16 03:03:33
    0 37 90
  • cherry键盘win键不能用:解决Cherry键盘Win键无法使用的措施

    如果您的cherry键盘win键不能用,可能是由于系统设置问题导致的。下面提供一些代码,可以帮助您解决这个问题:打开“控制面板”,然后点击“硬件和声音”,打开“键盘”选项卡。…

    2023-08-27 03:36:33
    0 94 38
  • certificate意思一步一步指南

    示例示例是一种用于证明某个人或机构拥有某种资格或资质的文件。它可以是一种认证,也可以是一种奖励或认可。代码示例:…

    2023-09-14 15:01:58
    0 39 82
  • win10系统ctrl加c不能复制:解决win10系统下Ctrl+C不能复制的问题

    解决方案解决方案答:可能是由于系统快捷键被修改所导致的,可以尝试恢复系统默认快捷键;…

    2023-04-15 00:45:32
    0 38 11

发表评论

登录 后才能评论

评论列表(16条)