Ho un'applicazione Rails in cui un numero limitato di azioni richiede un tempo di calcolo significativo. Piuttosto che passare attraverso la complessità della gestione di queste azioni come attività in background, ho scoperto che posso dividere l'elaborazione in più thread e utilizzando JRuby con un sever multicore, posso assicurarmi che tutti i thread vengano completati in un tempo ragionevole. (Il cliente ha già manifestato un forte interesse a mantenere questo approccio rispetto alle attività in background.)Registrazione all'interno di thread in un'applicazione Rails
Il problema è che la scrittura nel registratore di Rails non funziona all'interno di questi thread. Nulla si presenta nel file di registro. Ho trovato alcuni riferimenti a questo problema ma nessuna soluzione. Non mi dispiacerebbe inserire insert nel mio codice per aiutare con il debug, ma lo stdout sembra essere consumato dal server dell'app gemma glassfish.
Qualcuno ha eseguito correttamente la registrazione in un thread di rubini Rails senza creare un nuovo registro ogni volta?
Aggiornamento: ho scoperto che le discussioni nei thread si presentano nel file di registro glassfish. Non sono sicuro del motivo per cui non l'ho visto prima; Potrei averlo testato originariamente in un thread generato da un altro thread (non principale). Comunque, a scopo di debug, sto vedendo le scritture su STDOUT nel file di log, quindi sono felice. –