3

私は、ユーザーの投稿が新しいコメントを取得したとき、またはユーザーが言及されたときに通知電子メールを送信するWebアプリケーションを構築しています。Herokuで通知電子メールを送信するには、安価(無料)の方法は何ですか?

私はActionMailerとともにPostMarkerを使用して電子メールを送信しています。したがって、新しいコメントが作成されるたびに、コメントコントローラでMailerが電子メールを送信するようトリガーします。つまり、ユーザーがコメントを投稿すると、すぐに反応が返ってくるのではなく、コントローラがメールの送信を終了するまで待っています。

当然、私はdelayed_jobでバックグラウンド処理を試みることにしました。さて、これはうまくいきました。私はコメントを投稿すると即座に返答します。しかし、私はちょうどHerokuにdelayed_jobを実行するには、手動でワーカーdynoを起動する必要があることに気付きました。そして、それが終わったら、私はそれを元に戻すまでそれを維持します。そして、これはいくらかのお金を要するようです。

できるだけお金をかけずに試してみたいと思っています。解決策があるかどうかを調べるために検索します。私はHireFireと呼ばれるソリューションを見つけました。これは作業があれば自動的にあなたのdynoを起動し、何もする作業がないときには終了しますが(https://github.com/meskyanichi/hirefire)、このソリューションはサービスに料金を請求しますそれは何よりも安いですが、私の本来の目的をまだ超えています。

私は、delayed_jobを使わず、応答スピードを犠牲にすることについても考えています。

私はHerokuで通知メールを無料で送ることができる解決策(またはハック)がありますか?または、このようなことを行うサイトを構築するほとんどの人は余分な労働者のdynoを支払うだけですか?

または、少なくとも初めにActionMailerアクションをバックグラウンドで処理しなくてもかまいませんか? (これはサーバー全体にどれくらいの負荷がかかっているか分かりません。例えば、10人が同時に何かにコメントをつけて、残りのサイトユーザーのパフォーマンスに影響を与える場合など)

答えて

3

Hirefireが最適です。私はあなたがそれを無料で使うことができると思う、それはオープンソースだが、それを実行するための要件を知らない。

もう1つの解決方法は、アイアンワーカーに追加することです。彼らはあなたに25h /月の労働者時間を無料で与えます。

3

IronWorkerはあなたのニーズによく合います。 (私はIron.ioで働いています。)サーバーを管理する必要はありません。ワーカーを作成し、IronWorkerにアップロードしてすぐに実行したり、後でスケジュールを設定するだけで、IronWorkerには柔軟なスケジューリングオプションが用意されています。別の郵便で述べたように、1ヶ月には良い時間が来る。

0

リアルタイムを必要としない場合、つまり10分の遅延がある場合は、Heroku Schedulerを使用します。 10分ごとにタスクを実行し、現在のジョブ・キューをキックしてから、次の10分の反復まで終了します。

無料ではありませんが、ワーカーのキューに入れるほどです。

関連する問題