Delayed_job - на сервере Site5
-
24-09-2019 - |
Вопрос
Я сейчас использую сервер Site5 и хотел быrake jobs:work
В значительной степени работает все время. В настоящее время я не могу отправить работу, если я не вошел в систему на сервер. Я надеюсь, что кто-то там может помочь мне с этим. Много проблем с ar_mailer
и то whenever
GEM ... Но иметь еще около 5 драгоценных камней, отлично работающих в моем приложении Rails.
Может кто-нибудь пролить свет на решение для этого, пожалуйста? очень ценится. (Установлено задержка_JOB в качестве плагина)
Решение 2
Хорошо, у меня есть обходной путь для этого, это лучшее, что я могу сделать, но это работает в какой-то степени ... Я использовал использование рабочих мест CRON и Пользовательский скрипт / JobRunner файл.
Я создал jobrunner. Сценарий расположен в script/jobrunner
который содержит следующее
#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/environment'
Delayed::Worker.new.start
Затем в работе CRON я заставил его запустить этот файл.
В сообщении CRON я все еще получаю несколько ошибок, но работа с работой, и я доволен этим!
Работа CRON запускается каждый час на 50-й минуте, например, и проходит все задержки_jobs в таблице и обрабатывает их. Это следующее лучшее решение для обходного пути, которое я нашел для моей проблемы. Надеюсь, это поможет кому-то в будущем.
Увидим, какие другие скрипты я могу воплотить до ежедневных / еженедельных задач.
Другие советы
Если вы используете Capistrano, начните Delayed_job, когда ваше приложение развернуто. Добавьте это в свой развертывающий файл рецепта.
require 'delayed/recipes'
after "deploy:stop", "delayed_job:stop"
after "deploy:start", "delayed_job:start"
after "deploy:update_code", "delayed_job:stop"
after "deploy:restart", "delayed_job:start"
Задержка задания поставляется с скриптом для запуска себя на заднем плане и вход в систему для журнала / задержки_job.log. Вы можете начать демоновскую delayed_job, работающий в режиме разработки, как это:
RAILS_ENV=development script/delayed_job start