2013-06-28 12 views
6

używam Whe upon Gem, aby uruchomić zadanie rake. Po uruchomieniu zadania rake działa ono w środowisku programistycznym, ale gdy działa w zaplanowanym czasie, odnosi się do środowiska produkcyjnego. Jak mogę wymusić uruchomienie zaplanowanego zadania rake w środowisku programistycznym. Jak rozumiem, będę musiał użyć zmiennej RAILS_ENV, ale nie wiem, gdzie ją umieścić. Myślę, że to nie ma nic wspólnego z Whenever gem here.jak zmusić zadanie rake do działania w środowisku programistycznym za każdym razem, gdy gem

Odpowiedz

6

W schedule.rb można określić środowisko chcesz zaplanowane zadania do uruchomienia w:

# config/schedule.rb 
set :environment, 'development' 

Alternatywnie, można ustawić na środowisko dla poszczególnych stanowisk:

# config/schedule.rb 
every 1.day do 
    runner 'Model.task', :environment => 'development' 
    runner 'Model.task', :environment => 'production' 
end 
+0

Czy możesz uruchomić zadania znajdujące się w harmonogramie bez czekania na upłynięcie czasu? –

+1

Czy pytasz, czy możliwe jest uruchamianie zadań ręcznie (tj. Poza harmonogramem)? Jeśli tak, tak. Jeśli jednak próbujesz wykorzystać klej Per Whenever, musisz koniecznie ustawić pewien przedział czasu - AFAIK, minimalny interwał to jedna sekunda. W przeciwnym razie będziesz stale i jednocześnie wykonywał swoje zadania ... co nie jest możliwe/wykonalne. – zeantsoi

12

W każdej muszli bash -Type zazwyczaj można nadpisać środowiska, kiedy go uruchomić:

RAILS_ENV=development rake task:name... 

Można również napisać mały skrypt, aby to zrobić dla Ciebie:

#!/bin/sh 

export RAILS_ENV=development 

rake task:name... 

Można być dostosowane do innych powłok, w razie potrzeby.

Powiązane problemy