2012-04-21 10 views
0

Я выполняю работу cron и отложенную работу, поэтому я хочу отправить почту с использованием фонового задания, и для этого я использую delayed_job. Я не хочу запускать рабочего вручную, предоставляя rake jobs: work command но хотите установить эти грабли в хрон работу так, когда-либо пользователь Войти на приборной панели этой команды огонь и почта, отправленная на его адрес следующий мой код
метод отправки почтывсякий раз, когда + delayed_job с заданием cron в стартовом работнике

def dashboard  
     @user = User.find(params[:id])  
     UserMailer.delay.initial_email(@user)  
end  

UserMailer

def initial_email(user)  
     @user = user  
     mail(:to => user.email,:subject => "Welcome to my website!")  
    end  

Для задания cron я использую «всякий раз» Gem, так что я должен писать в моем файле timdule.rb, чтобы при входе в систему на панели управления я получал почту без запуска рабочего вручную.
Пожалуйста, помогите мне.
Спасибо.

ответ

0

DelayedJob должен постоянно работать в фоновом режиме, поэтому его не нужно запускать. Рабочий агент проверяет очередь, чтобы проверить, нужно ли выполнять какие-либо задачи и запускает их. Это похоже на второй экземпляр вашего приложения, который работает в фоновом режиме для выполнения задач, которые необходимо запустить.

Таким образом, вы должны запустить рабочий агент с script/delayed_job start и позволить ему работать все время. Вы можете использовать отдельный инструмент, например monit или god, для мониторинга вашего рабочего агента, чтобы он всегда работал.

+0

Благодарим за эту информацию, поэтому, если я запустил работника, а затем закрою приложение, которое все еще работает? Или мне нужно снова начать рабочий? То, что мне в основном нужно, когда пользователь входит в свою электронную почту, должен быть отправлен. Если вы предлагаете мне какой-либо код для этого, то вам больше всего нравится. Или любые изменения в предыдущем коде также будут приятными для меня ... и извините за эти основные вопросы , –

 Смежные вопросы

  • Нет связанных вопросов^_^