2015-08-13 18 views
7

Il codice sorgente è ospitato in un TFS 2012 in fase di installazione. Quando provo a pubblicare Azure WebJob in Azure da Visual Studio 2015, viene visualizzato il seguente errore.Errore durante la creazione della pianificazione di Webjob

Errore: si è verificato un errore durante la creazione della pianificazione WebJob: il codice di stato della risposta non indica il successo: 409 (Conflitto).

WebJob viene creato sotto l'applicazione Web, ma è impostato su On Demand anziché programmato.

Quando apro Fiddler per provare a risolvere questo problema, ottengo il seguente errore.

Errore ERROR_CONNECTION_TERMINATED: attività di distribuzione Web non riuscita. (Web Deploy sperimentato un problema di connessione con il server e ha dovuto interrompere la connessione, contattare l'amministratore del server se il problema persiste saperne di più:... http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_CONNECTION_TERMINATED)

Come posso pubblicare il mio WebJob prevista per Azure? O almeno ottenere errori più specifici?

risposta

1

Ho avuto problemi diverse volte con la distribuzione del lavoro Web e ho dovuto distribuirlo manualmente attraverso il portale azzurro. È un po 'fastidioso ma molto più affidabile.

+0

Sono stato in grado di creare manualmente un lavoro programmato attraverso il portale, ma l'approccio manuale rende impossibile l'integrazione continua. –

5

Se VS utensili non funziona e non si vuole impostare manualmente l'utilità di pianificazione, è possibile provare a utilizzare il costruito nel Scheduler che Kudu (il quadro Applicazioni Web Management) fornisce - https://github.com/projectkudu/kudu/wiki/Web-jobs#scheduling-a-triggered-webjob

Per pianificare un WebJob attivato è necessario aggiungere una proprietà di pianificazione al file settings.job. Il valore della pianificazione è un'espressione cron che dispone di 6 campi per rappresentare la pianificazione: {second} {minute} {hour} {day} {month} {day of the week}.

È necessario utilizzare una WebApp standard con "Sempre attivo" attivata affinché funzioni.

Quindi è sufficiente aggiungere quanto segue a un file di impostazioni se si desidera eseguire ogni 5 minuti.

{ 
    "schedule": "* */1 * * * *" 
} 

Ci scusiamo per i problemi di lavorazione, è qualcosa che sto cercando di aiutare a risolvere.

+1

Vedere anche http://blog.amitapple.com/post/2015/06/scheduling-azure-webjobs/ per maggiori informazioni su questo meccanismo. –

+0

Kudu potrebbe non essere particolarmente adatto per me dal momento che abbiamo un'installazione TFS on-premise da cui distribuiremo. Mi rendo conto di non averlo incluso nella domanda. –

+0

Kudu, oltre ad essere un motore di distribuzione per cose come git e hg di cui non avrete bisogno se distribuirete da TFS, è anche il motore che esegue WebJobs. Se hai un WebJob oggi, Kudu lo gestisce, quindi puoi usare lo scheduler di Kudu come ha spiegato Chris. – ahmelsayed

16

Ho avuto lo stesso problema e si è scoperto che il processo di pubblicazione non è riuscito perché l'ho impostato per ricorrere ogni 10 minuti mentre l'app doveva funzionare in un livello gratuito. Come MS descrive qui:

https://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-deploy-webjobs/

si può distribuire con tutte le frequenze diversi da quelli definiti in pochi minuti.

+1

+1 Grazie, ho letto quell'articolo diverse volte e non ho mai letto quella sezione! Cambiare il jobRecurrenceFrequency in webjob-publish-settings.json in "Hour" ha funzionato per me! –

+0

Ho un livello P1 (Premium), ma non ha permesso di pubblicare neanche con 30 minuti. Sembra strano avere quell'opzione, ma non permettere di pubblicarlo con strani errori ... –

+0

Se si converte una raccolta di lavoro dell'Utilità di pianificazione da Libero a Base o Premium, ricorda anche di cambiare "Ricorrenza massima" nella sezione Quote. Le raccolte predefinite di ricorrenza massima di libere scheduler sono di 1 ora e questo non viene aggiornato se si converte la raccolta di lavoro gratuita in base o premium. –

Problemi correlati