3

我正在構建一個Web應用程序,在用戶的帖子獲得新評論或用戶被提及時發送通知電子郵件。什麼是在Heroku上發送通知郵件的便宜(免費閱讀)方式?

我正在使用郵戳和ActionMailer發送電子郵件,因此在我的評論控制器中,每當創建新評論時,該操作都會觸發郵件發送郵件。問題是,這並不像我預期的那樣快,並且延遲了響應 - 當用戶發佈評論時,他不會立即通過ajax獲得反應,而是等待控制器完成發送郵件。

所以自然我決定嘗試使用delayed_job進行後臺處理。那麼,這是行得通的,現在我發表評論時立即得到迴應。不過,我剛剛意識到要在Heroku上運行delayed_job,我需要手動啓動一個工人dyno,一旦啓動,它會一直保持運行狀態,直到我縮小爲止。這似乎花了一些錢。

我想試試這個,儘量少花錢,然後四處搜尋,看看有沒有解決辦法。我確實找到了一個名爲HireFire的解決方案,當有工作要做時會自動啓動您的dyno,並在沒有任何工作要做時關閉它(https://github.com/meskyanichi/hirefire),但此解決方案收取服務費用,雖然比沒有東西便宜,但仍然擊敗了我最初的目的。

我甚至想過沒有delayed_job並犧牲響應速度,至少直到我看到任何牽引網站。

所以我想知道,是否有任何解決方案(或黑客),讓我免費發送Heroku的通知電子郵件?或者大多數建立類似這樣的網站的人只需要支付額外的工人代理費用呢?

或者,沒有後臺處理ActionMailer動作至少在一開始就行嗎? (我不確定整個服務器有多少負載,例如,如果有十人同時評論某些內容,如果這會影響其他站點用戶的性能)

回答

3

Hirefire應該是最適合您的。我認爲你可以免費使用它,它是開源的,但不知道運行它的要求。

另一種解決方案可能是添加鐵工。他們給你免費25小時/月的工人時間。

3

鐵工應該適合你的需求在這裏。 (請注意,我爲Iron.io工作)無需管理服務器。只需創建工作人員,將其上載到IronWorker,然後立即運行或稍後安排 - IronWorker具有一些靈活的計劃選項。正如另一篇文章中提到的,每個月有很多小時都可以免費獲得。

0

如果你不需要實時,即你對10分鐘的延遲滿意,那麼你可以使用Heroku Scheduler。每10分鐘運行一次任務,通過當前的作業隊列,然後死亡,直到下一個10分鐘的迭代。

不是免費的,但不像排隊工人那麼多。

相關問題