关于ruby on rails:在Heroku上发送通知电子邮件的便宜(免费)方式是什么?

What is a cheap (read free) way to send notification emails on Heroku?

我正在构建一个Web应用程序,当用户的帖子获得新评论或被提及时,该应用程序发送通知电子邮件。

我正在使用Postmark和ActionMailer来发送电子邮件,因此,在我的评论控制器中,每当创建新评论时,该操作就会触发Mailer传递电子邮件。问题是,这没有我预期的那么快,并且延迟了响应-当用户发表评论时,他不会立即通过ajax获得响应,而是要等到控制器完成发送邮件后再进行操作。

因此,我自然决定尝试使用delay_job进行后台处理。好吧,这确实可行,现在发表评论时,我会立即得到答复。但是,我刚刚意识到,要在Heroku上运行delay_job,我需要手动启动一个工作dyno,一旦启动,它就会一直保持直到我将其缩小。这似乎要花一些钱。

我想尝试这种方式,同时尽可能减少花费,然后四处寻找是否有解决方案。我确实找到了一种名为HireFire的解决方案,该解决方案在有工作要做时自动启动dyno,在无工作要做时将其关闭(https://github.com/meskyanichi/hirefire),但是此解决方案需要收费这项服务虽然便宜不了多少,但仍然超出了我的初衷。

我什至正在考虑不使用delay_job并牺牲响应速度,至少直到我看到该站点有任何吸引力为止。

所以我想知道,是否有任何解决方案(或黑客手段)可以让我免费在Heroku上发送通知电子邮件?还是大多数建立类似网站的人只是为了支付额外的工人动力费?

或者,至少在开始时就不进行后台处理ActionMailer操作就可以了吗? (我不确定这会对整个服务器造成多少负载,例如,如果十个人同时评论某项内容,是否会影响其余站点用户的性能)


IronWorker应该在这里很好地满足您的需求。 (请注意,我为Iron.io工作。)无需管理服务器。只需创建工作程序,将其上传到IronWorker,然后立即运行或安排它们以供以后使用-IronWorker具有一些灵活的计划选项。如另一篇文章所述,每月有大量时间免费。


篝火应该是最适合您的。我认为您可以免费使用它,它是开源的,但是不要求运行它。

另一种解决方案可能是增加铁工。他们免费为您提供25小时/月的工作时间。


如果您不需要实时,即您对10分钟的延迟感到满意,则可以使用Heroku Scheduler。每隔10分钟运行一次任务,该任务将遍历当前作业队列,然后死亡,直到下一个10分钟迭代。

这不是免费的,但也没有排队的工人那么多。