Witam;
W bazie danych znajdują się wpisy dotyczące uruchamianych jobów, w postaci:
job_id, start_time, stop_time
job_id jest unikalnym numerem zadania, start _time i stop_time nie muszę tłumaczyć :-)
Każdy job może byc dwojakiego typu: master, uruchomiający inne joby, oraz slave, uruchamiany przez mastera i nie uruchamiający innych jobów.
Zależność czasowa jest taka, że joby typu master są uruchamiane jako pierwsze i kończą się jako ostanie w obrębie pewnej grupy.
Dla danej grupy mają też najniższe job_id
Dla przykładu:
20 #2011-12-01 00:20:01 #2011-12-01 00:30:01
17 #2011-12-01 00:19:01 #2011-12-01 00:25:01
13 #2011-12-01 00:17:01 #2011-12-01 00:28:01
11 #2011-12-01 00:15:00 #2011-12-01 00:32:01
10 #2011-11-01 05:30:01 #2011-11-01 05:38:01
8 #2011-11-01 05:20:01 #2011-11-01 05:35:01
5 #2011-11-01 05:10:01 #2011-11-01 05:28:01
3 #2011-11-01 05:05:01 #2011-11-01 05:33:01
1 #2011-11-01 05:00:01 #2011-11-01 05:58:01
joby nr 1 i 11 są masterami, ponieważ uruchamiają inne grupy. tj.1->3,5,8,10 11->13,17,20.
Moje pytanie brzmi: jak je znaleźć?
Dzięki nim mogę posegregować joby na grupy oraz zliczyć inne potrzebne dane.
p.s job typu master moze być uruchomiony po zakończeniu poprzedniego mastera, czyli mówiąc inaczej- czasowo "nie zazębiają się"
joby typu slave zawsze maja mastera, który wystartował wcześniej i zakończył się później