Mam skrypt perla, który przygotowuje pliki do wprowadzenia do programu binarnego i przekazuje wykonanie programu binarnego do systemu kolejkowania SGE w wersji 6.2u2.SGE - QSUB nie przesyła zadań w trybie synchronizacji
Zadania są przesyłane z opcją -sync y
, aby umożliwić nadrzędnemu skryptowi perla monitorowanie stanu przesyłanych zadań za pomocą funkcji waitpid.
Jest to również bardzo przydatne, ponieważ wysłanie SIGTERM-a do nadrzędnego skryptu perl propaguje ten sygnał do każdego z dzieci, które następnie przekazują ten sygnał do qsub, tym samym kończąc z wdzięcznością wszystkie powiązane przesłane zadania.
Dlatego bardzo ważne jest, aby móc składać oferty z tą opcją -sync y
.
Niestety, wciąż otrzymuję następujący błąd:
Unable to initialize environment because of error: range_list containes no elements
zauważą niewłaściwa pisownia "containes. To jest literówka, która jest NOT. Pokazuje tylko, jak słabo zachowany jest ten obszar kodu/komunikatu błędu.
Próby, które spowodowały ten błąd, nie generują nawet plików STDOUT i STDERR *.e{JOBID}
i *.o{JOBID}
. Zgłoszenie całkowicie się nie udaje.
Wyszukiwanie google dla tego komunikatu o błędzie powoduje tylko nierozwiązane posty na niejasnej tablicy ogłoszeń.
Błąd ten nie występuje nawet niezawodnie. Mogę ponownie uruchomić skrypt i te same zadania niekoniecznie wygenerują błąd. Wydaje się również, że nie ma znaczenia, z którego węzła próbuję przesłać zadania.
Mam nadzieję, że ktoś tutaj może to zrozumieć.
odpowiedzi na którekolwiek z tych pytań byłoby zatem rozwiązać mój problem:
- Czy ten błąd utrzymują się w nowszych wersjach SGE?
- Czy mogę zmienić opcje wiersza poleceń dla qsub, aby tego uniknąć?
- O czym do diabła mówi ten komunikat o błędzie?
jaka jest różnica między qsub i qrsh –