In un'applicazione Mojolicious, sto cercando di convertire i file ODT in HTML quando un link viene cliccato. Converto i file usando "soffice", un comando di shell. La conversione dei file richiede del tempo. Invio messaggi di stato all'utente per informarlo dell'avanzamento. Mando questi messaggi di aggiornamento di stato, scrivendo ad un Mojo :: Log oggetto. Quindi, sottoscrivo questo oggetto log in una rotta EventSource.Utilizzando AnyEvent run_cmd in Mojolicious, continuo a ricevere questo errore: "AnyEvent :: CondVar: ricorsiva blocco attesa tentato"
Poi ho un ciclo tra i file e utilizzare AnyEvent :: Util run_cmd per eseguire il programma esterno "soffice".
Abbastanza copiato e incollato dalle principali esercitazioni AnyEvent. Se ci sono solo pochi file da convertire (circa 2 o 3), allora tutto va bene. I messaggi di stato inviati tramite la connessione EventSource vengono visualizzati sul browser client. Quindi, dopo che tutti i file sono stati convertiti, viene visualizzata la pagina web.
Se più file vengono da elaborare, alcuni file vengono convertiti poi il messaggio di errore nel titolo del thread si verifica.
Il percorso per il percorso che contiene il codice di cui sopra è questo:
my $initdocs = $r->under->to('docroute#initdocs');
$initdocs->get('/showdocs')->to('docroute#showdocs');
Il codice di cui sopra è nel percorso "initdocs".
Qualsiasi aiuto è apprezzato. Grazie in anticipo.
just fyi, in futuro, aggiungere un tag [tag: perl] aiuterà più persone a vedere le tue domande mojolicious. –