当绑定(bind)失败时,ASP.NET Webjobs 错误地删除了队列中的消息。 正确的流程应该是消息不被删除,在可见性超时后重新出现,重新处理。
这是调用日志
running in pid: 6424
Timestamp:10:02:27 PM
Parameters bound. Invoking user function.
--------
--------
Exception while executing:
System.InvalidOperationException, Error while binding function parameters.
at Microsoft.WindowsAzure.Jobs.RunnerProgram.InvokeWorker(MethodInfo m, BindResult[] binds, ParameterInfo[] ps)
at Microsoft.WindowsAzure.Jobs.RunnerProgram.Invoke(IConfiguration config, MethodInfo m, FunctionInstanceGuid instance, IRuntimeBindingInputs inputs, ParameterRuntimeBinding[] argDescriptors)
at Microsoft.WindowsAzure.Jobs.RunnerProgram.Invoke(FunctionInvokeRequest invoke, IConfiguration config)
at Microsoft.WindowsAzure.Jobs.RunnerProgram.MainWorker(FunctionInvokeRequest descr, IConfiguration config)
FAIL
是否有其他人在使用 Webjobs SDK 时遇到过消息被错误地出列(删除)的情况?
绑定(bind)失败是由于输入中的 JSON 格式无效,但我认为除非调用正确退出,否则我认为不应删除输入消息。
这是 webjobs 控制台应用程序中的方法签名
public static void CreateCertificate(
[QueueInput ("certificaterequest") ] CertificateRequest inputcertificate,
[QueueOutput ("certificatemade") ] out CertificateRequest outputcertificate,
[BlobOutput ("certificatemade/{Guid}")] TextWriter writer)
{
最佳答案
看起来像是一个错误。我已记录下来,我们将进行更多调查。
感谢您报告此问题!
关于asp.net - Azure Webjobs SDK 在绑定(bind)失败时删除消息 - Bug?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23475636/