0

我正在尝试创建一个网页,其中包含一个将尝试重试消息的链接。

下面是一个尝试重试特定消息的已截断(R&D - 它很丑,请原谅我)调用。首先我的网址正确吗?我从 ServiceInsight 中获取了 guid,当我在 ServiceInsight 中右键单击它时,它可以选择重试它。当我执行此代码时返回成功并且没有有效负载,但是当我刷新 ServiceInsight 时消息仍然存在。

您可以提供的任何见解将不胜感激。附带说明一下,获得某种性质的返回值会很好。例如,如果消息已经被成功处理了怎么办,在这种情况下,重试应该回复一些东西,说它不能完成。例如,如果我在 ServiceInsight 中右键单击状态列中具有绿色图标的项目,则未启用重试选项。

function DoPost(){
alert("start");

jQuery.support.cors = true;

$.post( "http://localhost:33333/api/errors/97db46a9-dd22-488d-8ec3-a24770bbxdcf/retry", 
    function(data) { alert(data); alert( "success" );})  
    .done(function() { alert( "done" );  })  
    .fail(function(xhr, ajaxOptions, thrownError) { alert(xhr.status); alert(thrownError); alert( "error" );  })  
    .always(function() { alert( "always" ); }   );

alert("end");

}

4

1 回答 1

1

ServiceInsight 仅允许重试在此阶段失败的消息。稍后我们将为负载测试等内容添加发送消息(也可以批量发送)。对带有绿色图标的消息禁用重试选项的原因是。

重试过程本质上是异步的,您触发请求并立即返回。稍后,当消息被实际处理时,它可能会工作以使消息被成功处理,或者它可能再次失败,最终可能再次出现(可能相同的)错误。您没有从重试中获得返回值的原因是我们在那个阶段不知道它是否被处理。虽然您的请求尚未处理,但如果您获得消息列表,则等待重试的特定消息将具有 RetryIssued 状态。

事实证明,服务控制(又名管理 API)不检查消息是否可以重试,它只是检查提供的消息 Id 是否存在。

于 2013-10-10T07:24:39.250 回答