【问题标题】:send delayed emails rails on heroku在 heroku 上发送延迟的电子邮件
【发布时间】:2011-01-08 04:04:50
【问题描述】:

我的数据库中有一个表格,其中包含要发送的电子邮件列表,每封电子邮件都在特定时间(精确到分钟)。

我在 heroku 上,我现在不想花任何钱。有没有办法做到这一点?我认为的唯一方法是在其他地方创建一个守护程序/cron,并让它每分钟调用一个私有 url.. 还有其他想法吗?有什么方法可以拥有一些后台进程或可以处理这个问题的东西(在 Heroku 上并且无需为插件支付额外费用..)?

谢谢!

【问题讨论】:

  • 也许 heroku 对你来说是个糟糕的选择。我建议购买便宜的(每月 5 美元左右)虚拟机。
  • 您发送的电子邮件量是多少?
  • 邮件不多,但我必须准确地发送它们。所以可能一次不会超过几个,而且通常没有。我知道没有工人,heroku 不适合这个,但我想尝试一下,我已经在 railsplayground 有一个帐户..

标签: ruby-on-rails background cron heroku


【解决方案1】:

Heroku 的免费 cron 插件每天只运行一次,因此不适合。他们的付费 cron 插件每小时只运行一次,所以也不适合。在别处运行守护进程/cron 是一种黑客行为,很快就会出现问题。从根本上说,这是一种糟糕的架构。

delayed_job 与单个 Heroku Worker 一起使用是有意义的。此外,delayed_job 允许您准确指定每个作业的运行时间,精确到 5 秒的粒度。是的,这样做是 36 美元/月。但它使您免于以错误的方式做事。另外,如果您预计大部分时间都不需要 Worker,您可以查看 Heroku 上的自动缩放延迟作业,以便仅在您需要时打开 Worker。

【讨论】:

    【解决方案2】:

    有一大堆免费的在线服务非常乐意按照您设置的时间表请求您的网页。你不需要花费或编码任何东西。只是谷歌:)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 2012-06-26
    • 2010-10-08
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-17
    相关资源
    最近更新 更多