Questa domanda è legata a questo: Running Azure WebJob without queueScheduled Azure WebJob ma NoAutomaticTrigger-Metodo non invocato
mio scenario: Voglio solo scrivere un file ogni ora nella memorizzazione blob e non ho bisogno di alcun sistema di coda. Dalla ex domanda ho ottenuto questo codice - che ha lavorato bene la prima volta che viene attivato:
[NoAutomaticTrigger]
public static void DoWork([Blob("container/foobar.txt")] TextWriter writer)
{
writer.Write("Hello World " + DateTime.Now.ToShortTimeString())"
}
static void Main()
{
JobHost host = new JobHost();
host.Call(typeof(Program).GetMethod("DoWork"));
host.RunAndBlock();
}
Il sito è in esecuzione con "AlwaysOn = true" e la webjob è "correre" per tutto il tempo, ma ora lo scheduler genera l'errore seguente e non accade nulla: "Impossibile avviare una nuova corsa poiché il processo è già in esecuzione."
Il risultato corrente è che il file viene scritto una sola volta. Se commuto "AlwaysOn" su false, "funziona", ma sembra sporco perché senza il risultato di Always on the job è "Aborted".
Grazie - funziona come un fascino. Ho preso "RunAndBlock" da questo esempio di codice - forse dovrebbe essere rimosso anche qui: http://aspnet.codeplex.com/SourceControl/latest#Samples/AzureWebJobs/BasicSamples/TableOperations/Program.cs –
Hm .. Devo dire che il campione potrebbe essere fonte di confusione. L'idea era di implementare quel lavoro come continuo, non su richiesta. Vedrò se riesco a riscriverlo. Grazie per avermi fatto sapere –
Devo usare il metodo host.Start() per attivare manualmente un webjob? – ManirajSS