Abbiamo una configurazione del sito Web di Azure con uno slot di distribuzione "di gestione temporanea" e utilizziamo un WebJob di Azure continuo per elaborare processi in background con esecuzione prolungata. Sembra che quando si pubblica sul sito Web (e includa i file binari di WebJob), il WebJob si riavvii da solo se è stato precedentemente arrestato.Come impedire a Azure WebJob di avviarsi dopo la pubblicazione?
Il nostro processo di distribuzione corrente è simile al seguente:
- Deploy per STAGING
- Immediatamente & fermare rapidamente il WebJob su STADIAZIONE (provate per impedire 2 WebJobs dai messaggi Processing)
- Smoke test e verifica codice su STAGING funziona
- Arresta il WebJOW PRODUCTION (lascia scaricare i messaggi in coda)
- Scambia tra PRODUZIONE e messa in scena
- Avviare il WebJob PRODUZIONE (che era solo il WebJob STAGING)
C'è un trucco (per esempio un file di bandiera o qualcosa del genere) per raccontare una WebJob NON per l'avvio dopo la pubblicazione?
Appena testato questo e funziona benissimo. Ho aggiunto un file "disable.job" alla radice del mio progetto di console C# e ho impostato la sua azione di compilazione su "Contenuto". – ericb
@Amit Potrei aver giurato che fino a poco tempo fa, quando è stato pubblicato un sito, lo stato del webjob sarebbe rimasto lo stesso - se è stato fermato, tenerlo fermo; se è in esecuzione, continua a farlo funzionare. Il fatto che sto pubblicando una nuova versione del codice dell'app web e/o del codice webjob non dovrebbe essere vista come un'ipotesi secondo cui lo stato di esecuzione dei webjobs dovrebbe essere cambiato. FYI che ho postato su questo qui https://stackoverflow.com/questions/42380853/stopped-azure-webjobs-are-starting-following-publishing-of-web-app. – Matt