Supponiamo che includa uno startup task piuttosto longevo nel ruolo di Azure, eseguendo qualcosa di simile a diversi minuti. Cosa succede se l'attività di avvio viene eseguita "troppo lunga".Esiste un limite rigido per quanto tempo può richiedere l'avvio del ruolo di Azure?
Attualmente sto testando su Compute Emulator e osservo quanto segue.
Ho un file .zip da 450 megabyte insieme a Info-Zip unzip. L'operazione di avvio decomprime l'archivio. La distribuzione inizia e guardo in Task Manager. Vengono avviati numerosi processi di servizio, quindi viene eseguito unzip.exe. Dopo circa due minuti tutti questi processi si interrompono, quindi ricominciano di nuovo e si avvia nuovamente unzip.exe.
Quindi sembra che una distribuzione possa essere eseguita per circa due minuti, quindi viene forzatamente reimpostata e riavviata.
È questo il comportamento previsto? Persiste sul cloud reale? Esistono limiti rigidi sulla durata di un ruolo che può assumere l'avvio? Come posso risolvere questa situazione, ad eccezione dello spostamento della decompressione in RoleEntryPoint.OnStart()
?
Come si chiama quel metodo da un'attività di avvio? – sharptooth
Non penso che il metodo SetBusy si applichi alle attività di avvio. Utilizzerai SetBusy con il tuo ruolo se il tuo codice RoleEntryPoint (ad esempio, metodo Run) stava facendo qualcosa di dispendioso in termini di tempo e non voleva che il controller di Fabric pensasse che fosse bloccato. Se si utilizza taskType = "semplici" attività di avvio (il tipo che viene eseguito fino al completamento prima che venga chiamato OnStart), il bilanciamento del carico non invia comunque traffico all'utente. E se si sta utilizzando un altro taskType di avvio (in background o in primo piano), quelli dovrebbero essere eseguiti indipendentemente dai metodi OnStart ed Esegui comunque. – codingoutloud