2014-12-08 8 views
5

Ich habe WebJob kontinuierlich mit dem 1.0.0 WebJobs SDK ausgeführt.
Hier ist der Konfigurationscode.Azure WebJob QueueTrigger Nachricht wird nicht aus der Warteschlange gelöscht

public static void Main() 
{ 
    var config = new JobHostConfiguration(); 
    config.Queues.MaxDequeueCount = 1; 
    config.Queues.BatchSize = 1; 

    var host = new JobHost(config); 
    host.RunAndBlock(); 
} 

Hier ist meine Signatur der Job-Funktion.

Ich erwarte, dass nach dem Ausführen der Funktion erfolgreich Nachricht aus Trigger-Warteschlange gelöscht wird. Aber ich bekomme Funktion mehr als einmal.

Protokollierung zeigt, dass es bei jedem nextVisibleTime ausgeführt wird und dequeueCount jedes Mal inkrementiert wird.

UPD: Es scheint, dass ein Fehler auftritt, nachdem die Funktion ausgeführt wurde. Hier Protokolle von webjob Armaturenbrett:

[12/08/2014 13:10:47 > 51d5f4: INFO] Executing: 'Program.HuntVkusniyBlogRss' because New queue message detected on 'queue-rss'. 
[12/08/2014 13:10:53 > 51d5f4: ERR ] 
[12/08/2014 13:10:53 > 51d5f4: ERR ] Unhandled Exception: Microsoft.WindowsAzure.Storage.StorageException: The remote server returned an error: (404) Not Found. ---> System.Net.WebException: The remote server returned an error: (404) Not Found. 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at Microsoft.WindowsAzure.Storage.Shared.Protocol.HttpResponseParsers.ProcessExpectedStatusCodeNoException[T](HttpStatusCode expectedStatusCode, HttpStatusCode actualStatusCode, T retVal, StorageCommandBase`1 cmd, Exception ex) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at Microsoft.WindowsAzure.Storage.Blob.CloudBlobSharedImpl.<DeleteBlobImpl>b__1b(RESTCommand`1 cmd, HttpWebResponse resp, Exception ex, OperationContext ctx) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.EndGetResponse[T](IAsyncResult getResponseResult) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] --- End of inner exception stack trace --- 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.EndExecuteAsync[T](IAsyncResult result) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.EndDelete(IAsyncResult asyncResult) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at Microsoft.WindowsAzure.Storage.Core.Util.AsyncExtensions.<>c__DisplayClass4.<CreateCallbackVoid>b__3(IAsyncResult ar) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] --- End of stack trace from previous location where exception was thrown --- 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at Microsoft.Azure.WebJobs.Host.Protocols.PersistentQueueWriter`1.<DeleteAsync>d__6.MoveNext() 
[12/08/2014 13:10:53 > 51d5f4: ERR ] --- End of stack trace from previous location where exception was thrown --- 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at Microsoft.Azure.WebJobs.Host.Loggers.CompositeFunctionInstanceLogger.<DeleteLogFunctionStartedAsync>d__e.MoveNext() 
[12/08/2014 13:10:53 > 51d5f4: ERR ] --- End of stack trace from previous location where exception was thrown --- 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.<TryExecuteAsync>d__1.MoveNext() 
[12/08/2014 13:10:53 > 51d5f4: ERR ] --- End of stack trace from previous location where exception was thrown --- 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at Microsoft.Azure.WebJobs.Host.Queues.Listeners.QueueTriggerExecutor.<ExecuteAsync>d__0.MoveNext() 
[12/08/2014 13:10:53 > 51d5f4: ERR ] --- End of stack trace from previous location where exception was thrown --- 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at Microsoft.Azure.WebJobs.Host.Queues.Listeners.QueueListener.<ProcessMessageAsync>d__11.MoveNext() 
[12/08/2014 13:10:53 > 51d5f4: ERR ] --- End of stack trace from previous location where exception was thrown --- 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at Microsoft.Azure.WebJobs.Host.Timers.BackgroundExceptionDispatcher.<>c__DisplayClass1.<Throw>b__0() 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at System.Threading.ThreadHelper.ThreadStart_Context(Object state) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
[12/08/2014 13:10:53 > 51d5f4: ERR ] at System.Threading.ThreadHelper.ThreadStart() 
[12/08/2014 12:08:18 > 51d5f4: SYS ERR ] Job failed due to exit code -532462766 
[12/08/2014 12:08:18 > 51d5f4: SYS INFO] Process went down, waiting for 0 seconds 
[12/08/2014 12:08:18 > 51d5f4: SYS INFO] Status changed to PendingRestart 
[12/08/2014 12:08:23 > 51d5f4: SYS INFO] Run script 'HunterWebJob.exe' with script host - 'WindowsScriptHost' 
[12/08/2014 12:08:23 > 51d5f4: SYS INFO] Status changed to Running 
[12/08/2014 12:08:25 > 51d5f4: INFO] Found the following functions: 
[12/08/2014 12:08:25 > 51d5f4: INFO] Cookagg.HunterWebJob.Program.HuntVkusniyBlogRss 
[12/08/2014 12:08:25 > 51d5f4: INFO] Job host started 
+1

ist Ihre Funktion eine Ausnahme zu werfen? können zeigen Sie uns die Ausführungsprotokolle aus der webjobs Armaturenbrett? –

+0

Funtion nicht Ausnahme wirft. ich habe Protokolle von Armaturenbrett –

+0

Wie lange dauert die Ausführung Ihrer Aufgabe, sind es mehr als 10 Minuten? haben Sie für diese Warteschlange? – b2zw2a

Antwort

0

hatte ich genau die gleiche Problem, ich für die Daten und Protokolle über ein separates Speicherkonto hatte. Wenn ich denselben Speicheraccount für beide Bugs verwendet habe, bleibt dieser Fehler stehen.

1

Ich stieß auf dieses Problem, weil Container nicht immer automatisch erstellt werden. Also, ich erstellt:

azur Jobs-host-Ausgang
azur webjobs-Gastgeber

+2

Ich habe diese Container und bekomme immer noch den gleichen Fehler ... –

0

die webjobs SDK-Version prüfen, ob die niedriger ist als die 1.1.1.0 ist, dann stellen Sie sicher, mit dem neuesten sind Ausführung.

so sollte es wie folgt sein, hatten wir das gleiche Problem mit webjobs sdk Version 1.0.1.0 und Aktualisierung dieser auf die neueste behoben das Problem.

  1. Microsoft.Azure.WebJobs.dll (in unserem Fall war aktuelle Version 1.0.1.0 und wir brauchen 1.1.1.0)
  2. Microsoft.WindowsAzure.Storage.dll (aktuelle Version 4.2.1.0 ist, brauchen wir (≥ 4.3.0 & & ≤ 5.0.2).
Verwandte Themen