5

1.0.0 WebJobs SDK を使用して WebJob を継続的に実行しています。
ここに構成コードがあります。

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

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

これが私の職務署名です。

public static void HuntVkusniyBlogRss([QueueTrigger("queue-rss")] string message,
    DateTimeOffset expirationTime,
    DateTimeOffset insertionTime,
    DateTimeOffset nextVisibleTime,
    string id,
    string popReceipt,
    int dequeueCount,
    string queueTrigger,
    CloudStorageAccount cloudStorageAccount,
    TextWriter log)
{
    ...
}

関数を正常に実行した後、メッセージがトリガー キューから削除されることを期待しています。しかし、関数を複数回実行しています。

ロギングは、nextVisibleTime ごとに実行され、dequeueCount が毎回増加していることを示しています。

UPD: 関数の実行後にエラーが発生したようです。Webjob ダッシュボードからのログは次のとおりです。

[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
4

3 に答える 3

1

コンテナーが常に自動作成されるとは限らないため、この問題に遭遇しました。だから、私は作成しました:

azure-jobs-host-output
azure-webjobs-hosts

于 2015-03-07T01:23:49.797 に答える
0

まったく同じ問題がありました。データとログ用に別のストレージ アカウントがありました。両方に同じストレージ アカウントを使用すると、このバグは停止します。

于 2014-12-19T10:58:27.000 に答える
0

webjobs SDK のバージョンを確認し、それが 1.1.1.0 より低い場合は、最新バージョンであることを確認してください。

以下のようになります。webjobs SDK バージョン 1.0.1.0 で同じ問題が発生し、これを最新のものにアップグレードすると問題が修正されました。

  1. Microsoft.Azure.WebJobs.dll (この場合、現在のバージョンは 1.0.1.0 で、1.1.1.0 が必要です)
  2. Microsoft.WindowsAzure.Storage.dll (現在のバージョンは 4.2.1.0 です。(≥ 4.3.0 && ≤ 5.0.2) が必要です)。
于 2016-02-06T08:33:07.247 に答える