Я создаю веб-приложение, которое отправляет уведомления по электронной почте, когда сообщение пользователя получает новый комментарий, или если пользователь упоминается.
Я использую Postmark вместе с ActionMailer для отправки электронных писем, поэтому вКонтроллер моих комментариев всякий раз, когда создается новый комментарий, это действие вызывает Mailer для доставки электронной почты.Дело в том, что это не так быстро, как я ожидал, и задерживает ответ - когда пользователь публикует комментарий, он не сразу получает реакцию через ajax, а ждет, пока контроллер завершит отправку почты.
Естественно, я решил попробовать фоновую обработку с delayed_job.Ну, это работает, и теперь я получаю немедленный ответ, когда я публикую комментарий.Тем не менее, я только что понял, что для запуска delayed_job на Heroku мне нужно вручную запустить рабочий динамо, и как только он заработает, он будет работать до тех пор, пока я не уменьшу его.И это, кажется, стоит денег.
Я хочу попробовать это, потратив как можно меньше денег, и искал вокруг, чтобы посмотреть, есть ли какие-либо решения.Я нашел решение под названием HireFire, которое автоматически запускает ваш dyno, когда есть работа, и выключает его, когда работы нет (https://github.com/meskyanichi/hirefire), но это решение платит за услугу, которая хотя и дешевле, чем ничего, но все жепревосходит мои первоначальные цели.
Я даже думаю о том, чтобы просто обойтись без delayed_job и пожертвовать скоростью отклика, по крайней мере, до тех пор, пока не увижу какую-то тягу с сайтом.
Так что мне интересно, есть лиЛюбое решение (или взлом), которое позволяет мне отправлять уведомления по электронной почте на Heroku бесплатно? Или большинство людей, которые создают сайты, которые делают что-то подобное, просто платят за дополнительный рабочий dyno?
Или это будет нормально, еслипросто идти без фоновой обработки действий ActionMailer, по крайней мере, в начале? (Я не уверен, какая нагрузка это имеет на весь сервер, например, если десять человек что-то комментируют одновременно, если это повлияет на производительность для остальных пользователей сайта)