Я использую каждый раз, когда драгоценный камень запускает задачу грабли. Когда я запускаю задачу rake, она запускается в среде разработки, но когда она запускается в запланированное время, это относится к производственной среде. Как я могу заставить запустить запланированную задачу рейка в среде разработки. Как я понимаю, мне придется использовать переменную RAILS_ENV, но не могу понять, куда ее поместить. Думаю, это не имеет никакого отношения к тому, где бы ни был драгоценный камень.как заставить задачу рейка запускаться в среде разработки, используя когда-либо жемчужину
6
A
ответ
6
В schedule.rb
, вы можете указать среду, которые Вы хотите запланированную задачи, которые будут работать в:
# config/schedule.rb
set :environment, 'development'
В качестве альтернативы, вы можете установить среду на каждое задание основе:
# config/schedule.rb
every 1.day do
runner 'Model.task', :environment => 'development'
runner 'Model.task', :environment => 'production'
end
12
bash
В любом -типа оболочки обычно можно переопределить окружающую среду, когда вы запускаете его:
RAILS_ENV=development rake task:name...
Вы также можете написать небольшой скрипт, чтобы сделать это для вас:
#!/bin/sh
export RAILS_ENV=development
rake task:name...
Это может при необходимости, для других оболочек.
Можете ли вы запускать задачи, которые находятся в планировщике, не дожидаясь прохождения периода времени? –
Вы спрашиваете, можно ли запускать задачи вручную (т. Е. Вне планировщика)? Если да, да. Однако, если вы пытаетесь использовать драгоценный камень Whenever, вам обязательно нужно установить какой-то временной интервал - AFAIK, минимальный интервал - одна секунда. В противном случае вы будете постоянно и одновременно выполнять свои задачи ... что на самом деле невозможно/возможно. – zeantsoi