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
6
A
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
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.
Czy możesz uruchomić zadania znajdujące się w harmonogramie bez czekania na upłynięcie czasu? –
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