Possiedo un Azure WorkerRole in fase di arresto (nessuna eccezione viene lanciata) senza alcun motivo apparente. Si ferma sempre nello stesso punto, ma il codice sta semplicemente eseguendo un processo che richiede circa 20 secondi per essere eseguito. Qualcuno può postulare sul perché questo sta accadendo? C'è un timeout nel metodo OnStart() di cui non sono a conoscenza?Azure WorkerRole che si arresta immediatamente dopo l'avvio
Ecco una ripartizione di ciò che sta accadendo nel mio ruolo di lavoratore:
OnStart() -> Diagnostica Configurato
Run() ->
- Un timer è impostato (60) a attivare la carne dell'applicazione
- Un nuovo thread viene avviato per caricare alcune impostazioni predefinite (dura circa 30 secondi)
Il codice non arriva mai alla carne di # 1.
Per il numero 1 in alto, l'ho provato con e senza timer (nessuna differenza). Per il # 2 sopra, l'ho provato con e senza iniziare un nuovo thread (nessuna differenza).
ecco l'output di debug per il mio ruolo dei lavoratori:
WaWorkerHost.exe Information: 0 : deployment(108).ApiAzure.Workers.0 - Workers.OnStart()
Microsoft.WindowsAzure.ServiceRuntime Information: 202 : Role entrypoint . COMPLETED OnStart()
The thread 'Role Initialization Thread' (0x29fc) has exited with code 0 (0x0).
Microsoft.WindowsAzure.ServiceRuntime Information: 203 : Role entrypoint . CALLING Run()
'WaWorkerHost.exe' (Managed (v4.0.30319)): Loaded 'C:\Users\Jason A. Kiesel\Projects\FS_CITYSOURCED\WorkersAzure\bin\Stage\WorkersAzure.csx\roles\Workers\approot\FreedomSpeaks.Logging.dll', Symbols loaded.
Microsoft.WindowsAzure.ServiceRuntime Warning: 204 : Role entrypoint . COMPLETED Run() ==> ROLE RECYCLING INITIATED
Microsoft.WindowsAzure.ServiceRuntime Information: 503 : Role instance recycling is starting
The thread 'Role Start Thread' (0x1fa0) has exited with code 0 (0x0).
The thread '<No Name>' (0x1624) has exited with code 0 (0x0).
'WaWorkerHost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_64\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll'
'WaWorkerHost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_64\System.Transactions\v4.0_4.0.0.0__b77a5c561934e089\System.Transactions.dll'
'WaWorkerHost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_64\System.EnterpriseServices\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.EnterpriseServices.dll'
'WaWorkerHost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Numerics\v4.0_4.0.0.0__b77a5c561934e089\System.Numerics.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Microsoft.WindowsAzure.ServiceRuntime Information: 205 : Role entrypoint . CALLING OnStop()
WaWorkerHost.exe Information: 0 : deployment(108).ApiAzure.Workers.0 - Workers.OnStop()
Microsoft.WindowsAzure.ServiceRuntime Information: 206 : Role entrypoint . COMPLETED OnStop()
The thread 'Role Stop Thread' (0x2dac) has exited with code 0 (0x0).
The program '[12228] WaWorkerHost.exe: Managed (v4.0.30319)' has exited with code -66053 (0xfffefdfb).
Puoi pubblicare il codice? – Igorek
Ho scoperto il motivo per cui l'applicazione si è bloccata e ha inserito una correzione, ma non ha ancora senso per me sul perché il ruolo del lavoratore si bloccherebbe in primo luogo. La sezione "config" dell'app che è stata attivata all'avvio aveva un metodo che richiedeva molto tempo per essere eseguito. Ho spostato quella sezione del codice "config" per essere eseguita su richiesta (lazy loaded). Questo sembrava risolvere il problema. – Jason
Come hai capito perché si stava bloccando? Sembra che abbia lo stesso problema, ma senza un'eccezione è piuttosto difficile eseguire il debug:/ –