Mam aplikację Rails, w której niewielka liczba akcji wymaga znacznego czasu obliczeń. Zamiast przechodzić przez złożoność zarządzania tymi działaniami jako zadania w tle, odkryłem, że mogę podzielić przetwarzanie na wiele wątków i używając JRuby z serwerem wielordzeniowym, mogę zapewnić, że wszystkie wątki będą kompletne w rozsądnym czasie. (Klient już wyraził silne zainteresowanie utrzymaniem tego podejścia w porównaniu z uruchomionymi zadaniami w tle).Logowanie wewnątrz wątków w aplikacji Railsowej
Problem polega na tym, że zapisywanie do dziennika Rails nie działa w tych wątkach. Nic nie pojawia się w pliku dziennika. Znalazłem kilka odniesień do tego problemu, ale bez rozwiązań. Nie miałbym nic przeciwko wstawianiu puts w moim kodzie, aby pomóc w debugowaniu, ale stdout wydaje się być zjedzony przez serwer aplikacji gem glassfish.
Czy ktoś z powodzeniem wykonał logowanie wewnątrz wątku ruby Rails bez tworzenia nowego dziennika za każdym razem?
Aktualizacja: Stwierdziłem, że wątki pojawiają się w pliku dziennika Glassfish. Nie jestem pewien, dlaczego wcześniej tego nie widziałem; Mogłem pierwotnie przetestować go w wątku zainicjowanym przez inny (inny niż główny) wątek. W każdym razie, dla celów debugowania, widzę zapisy do STDOUT w pliku dziennika, więc jestem szczęśliwy. –