2012-05-18 11 views
5

Czy jest to możliwe w Quartz-Scheduler, aby zdefiniować ograniczenia wykonywania pracy?Więź dwie prace, aby nie działać jednocześnie w Quartz-Scheduler

Rzeczywiście, mam dwie klasy, które implementuje interfejs Job: JobA i JobB.

JobA będzie planowana co minutę. JobB będzie planowany co godzinę.

Nie chcę, aby JobA i JobB działały jednocześnie.

Uwaga: JobA i JobB nie robią tego samego.

Dzięki za odpowiedzi.

Odpowiedz

4

Nie ma bezpośredniego wsparcia dla tego. Jeśli była to ta sama praca, można ją zdefiniować jako stanową - takie zadania nie mogą być jednocześnie definiowane.

W przeciwnym razie można ograniczyć liczbę wątków roboczych kwarcu do 1, dodatkowo można zdefiniować priorytety wątków, aby wybrać zadanie, które ma zostać uruchomione jako pierwsze. Niestety to rozwiązanie nie będzie skalowane, gdy zaangażowanych będzie więcej zadań.

Wreszcie można to zaimplementować ręcznie bez angażowania kwarcu. Chyba nie chcesz, aby jakaś operacja lub jakiś zasób był dostępny w tym samym czasie. Zastanów się nad zablokowaniem tej metody/zasobu, aby oba zadania działały jednocześnie, ale jeden blokuje i czeka na zakończenie drugiego.

+0

OK. Dzięki za odpowiedź – Sly33

Powiązane problemy