Планировщик Resque на Heroku ... Делай это удаленно?
-
27-09-2019 - |
Вопрос
Я добавляю РЕСПЕСТ-Планировщик В моем приложении на Героку
Так ... мне нужен один один и отличный работник, действующий как планировщик и многие делают работу.
Вот как я это сделал:
У меня отчетливое приложение Heroku, которое ничего не делает, но имеет 1 работник планировщика Resque, работает 24/7, добавление Репрес Задачи на Redis БД «далекого» основной Приложение.
(Я делаю это отображение Работа: Работа Задача Ристе: планировщик или РЕСПЕСТ: Работа)
Это лучший способ сделать это на платформе Heroku; Или я делаю это совершенно не так?
Спасибо !
Редактировать: Минимальное приложение для планирования на Heroku:http://github.com/clmntlxndr/heroku-scheduler.
Обновление: с новым стеком CEDAR на Heroku и ProPFiles, можно начать определенную задачу для каждого работника.
web: bundle exec rails server -p $PORT
scheduler: bundle exec rake resque:scheduler
worker: bundle exec rake jobs:work
Решение
Я думаю, что я неправильно прочитал ваш вопрос в первый раз. Я пропустил часть, где планировщик требует отдельной задачи на граблях.
Да, я думаю, что единственный способ сделать это - иметь два отдельных приложения Heroku, потому что работники Heroku будут работать только rake jobs:work
И предположительно вы можете только набрать это только на одну из задач Resque Rakes.
Вы можете попробовать это:
desc "Alias for resque:work (To run workers on Heroku)"
task "jobs:work" => ["resque:work", "resque:scheduler"]
Но у меня искренние сомнения о том, что на самом деле работают правильно с тем, как Heroku следит за рабочими процессами и вещами. Также дважды проверьте синтаксис грабля; Это только от памяти. Я знаю, что можно указать несколько зависимостей, хотя.