2016-02-18 19 views
7

Wystąpił problem z sidekiq:
Chcę ustawić limit czasu dla zadań, co oznacza, że ​​gdy zadanie ma czas przetwarzania większy niż limit czasu, to zadanie zostanie zatrzymane.
Jak ustawić limit czasu dla zadań w sidekiq

Szukałem, jak ustawić globalną konfigurację limitu czasu w pliku sidekiq.yml.
Ale chcę ustawić oddzielny limit czasu dla różnych odrębnych zadań, co oznacza, że ​​jedna z klas do zdefiniowania pracownika będzie miała określoną konfigurację limitu czasu.
Czy możesz mi pomóc.
Dziękuję bardzo.

Odpowiedz

9

Nie ma zatwierdzonego sposobu na zrobienie tego. Nie możesz zatrzymać nici bezpiecznie podczas jej wykonywania. Musisz zmienić pracę, aby okresowo sprawdzać, czy powinna się zatrzymać.

Można ustawić limity czasu sieci dla połączeń innych firm, których używasz, aby upłynął limit czasu.

+0

Mam to. Bardzo dziękuję Panu @Mike Perham. Będę badać używając metod timeoutów sieciowych zgodnie z twoją sugestią. –