2014-10-29 9 views
11

In Azure, una volta Web Job avviato è iniziato? Cosa dobbiamo fare - per fermarlo?Azure Arresta un lavoro Web triggerato

Background: popola

nostro Web lavoro un bus coda di Servizio che poi scalare i nostri ruoli dei lavoratori - i nostri ruoli lavoratori stanno utilizzando un terzo API festa - e sono sempre errori. Ciò sta facendo aumentare la nostra coda sempre più grande e creando sempre più ruoli di lavoro. Questo è costoso

risposta

3

L'opzione migliore che abbiamo trovato è quella di utilizzare KUDU api per ottenere l'elenco dei processi e quindi terminare il processo webjob desiderato.

+0

Puoi anche farlo ora dal nuovo portale portal.azure.com –

6

come spiegato sopra Kobynet stiamo utilizzando l'API kudu e abbiamo il seguente frammento di PowerShell per l'arresto del proccess

$username = $website.PublishingUsername 
    $password = $website.PublishingPassword 
    $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f $username,$password))) 
    $ps = Invoke-RestMethod -Uri "$apiBaseUrl/processes" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method GET  
    $id = $($ps | where {$_.name -eq $jobname}).id 
    Invoke-RestMethod -Uri "$apiBaseUrl/processes/$id" -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method DELETE  
    write-host "killed process $id" 
+0

Great! Proveremo questo. –

+0

@SimchaKhabinsky, ha funzionato per me –

0

Puoi farlo cliccando sul pulsante Riavvia il servizio di applicazione che ospita il webjob. in realtà cancella tutti i lavori e devi ridistribuirli.

Nota: questo pulsante è disponibile solo nel nuovo portale "portal.azure.com" ma non in quello precedente.

spero che questo aiuti.

+0

Penso che un riavvio non cancelli i webjobs né arresti l'esecuzione corrente del webjob. – SuperJMN

+0

un riavvio non cancella alcun file. –

Problemi correlati