/ / Limit czasu harmonogramu Rufus :: Błąd w specyfikacjach Selenium - ruby-on-rails, harmonogram rufus, dashing

Harmonogram Rufusa Limit czasu :: Błąd Selenium Specs - ruby-on-rail, rufus-scheduler, ozdobny

Używam szyn łączących https://github.com/gottfrois/dashing-rails w moim projekcie. Uruchamia zadania rufus-scheduler na ładowaniu env szyn.

Po uruchomieniu testów integracyjnych (rspec, kapibara,selenium-driver), niektóre z moich testów losowo kończą się niepowodzeniem z powodu błędów limitu czasu rufus-scheduler. Czy istnieje sposób na wyciszenie błędów harmonogramu rufus lub całkowite wyłączenie rufus w środowisku testowym? Nie jestem fanem rails_env = test na mojej podstawie kodu, więc każde inne rozwiązanie byłoby mile widziane.

Przykładowe błędy wyglądają następująco:

{ 283064 rufus-scheduler intercepted an error:
283064   job:
283064     Rufus::Scheduler::EveryJob "10s" {}
283064   error:
283064     283064
283064     Timeout::Error
283064     Waited 3 sec

Odpowiedzi:

0 dla odpowiedzi № 1

Rufus-scheduler #on_error może pomóc. Jest to udokumentowane w https://github.com/jmettraux/rufus-scheduler#rufusscheduleron_errorjob-error

Na przykład:

if rails_env == "test" # set the handler only when testing...
def Dashing.scheduler.on_error(job, error)
# keep silent, do nothing
end
end

Wygląda na to, że nie chcesz ustawiać środowiska Rails na „test” dla testu integracji, więc musisz znaleźć sposób na określenie, kiedy przesłonić metodę #on_error programu planującego, to jest twój problem.

Ponadto rufus-scheduler nie zgłasza instancjiLimit czasu :: Błąd, wywołuje instancje Rufus :: Scheduler :: TimeoutError, więc wyświetlane błędy nie są błędami rufus-scheduler, są jedynie przechwytywane przez rufus-scheduler.

Jak wspomniano powyżej, jako autorrufus-scheduler, nie napisałem rufus-scheduler, żeby czytać tytuły takie jak: „Rufus planer łamie testy integracyjne”, TWÓJ zestaw kodów psuje TWOJE testy integracyjne. Weź na siebie odpowiedzialność.