Rebus for Azure Storage queue - 调整每个 GetMessage() 调用之间的频率
Rebus for Azure Storage queue - adjusting frequency between each GetMessage() call
大家好(很可能是@mookid8000),
我正在使用 Rebus C# 库和 Azure 存储队列。
一切正常,只有一个日志记录问题。
Rebus 每秒对队列进行多次 GetMessage 调用。
这是非常有问题的,因为如果将“队列”操作记录到 Log Analytics,它每天会生成 GB 的数据,这会花费很多钱。
有没有办法告诉 rebus 每 10 秒或每分钟检查一次队列,如果最后响应 return 没有新消息?我的应用程序不需要快速消息处理,因此每次调用队列之间的刷新周期越慢越好。
也许可以在这里配置?
services.AddRebus((configure, sp) => configure
.Transport(t =>
{
CloudStorageAccount storageAccount = CloudStorageAccount
.Parse(Configuration.GetValue<string>("StorageQueue:ConnectionString"));
t.UseAzureStorageQueues(storageAccount, "queue");
})
.Routing(r =>
{
var routing = r.TypeBased();
routing.Map<TrackedObject>("queue");
})
);
我正在检查是否可以找到关于此的一些文档,但找不到任何内容:(
感谢您的帮助。
您正在寻找 how to configure Rebus' back-off times
有了它,你可以做这样的事情
services.AddRebus(
configure => configure.
.(...)
.Options(o => {
o.SetBackoffTimes(
TimeSpan.FromSeconds(1),
TimeSpan.FromSeconds(2),
TimeSpan.FromSeconds(10)
);
})
);
并让它在 运行 空闲 3 秒后在轮询消息之间等待 10 秒。
大家好(很可能是@mookid8000),
我正在使用 Rebus C# 库和 Azure 存储队列。 一切正常,只有一个日志记录问题。
Rebus 每秒对队列进行多次 GetMessage 调用。 这是非常有问题的,因为如果将“队列”操作记录到 Log Analytics,它每天会生成 GB 的数据,这会花费很多钱。
有没有办法告诉 rebus 每 10 秒或每分钟检查一次队列,如果最后响应 return 没有新消息?我的应用程序不需要快速消息处理,因此每次调用队列之间的刷新周期越慢越好。
也许可以在这里配置?
services.AddRebus((configure, sp) => configure
.Transport(t =>
{
CloudStorageAccount storageAccount = CloudStorageAccount
.Parse(Configuration.GetValue<string>("StorageQueue:ConnectionString"));
t.UseAzureStorageQueues(storageAccount, "queue");
})
.Routing(r =>
{
var routing = r.TypeBased();
routing.Map<TrackedObject>("queue");
})
);
我正在检查是否可以找到关于此的一些文档,但找不到任何内容:(
感谢您的帮助。
您正在寻找 how to configure Rebus' back-off times
有了它,你可以做这样的事情
services.AddRebus(
configure => configure.
.(...)
.Options(o => {
o.SetBackoffTimes(
TimeSpan.FromSeconds(1),
TimeSpan.FromSeconds(2),
TimeSpan.FromSeconds(10)
);
})
);
并让它在 运行 空闲 3 秒后在轮询消息之间等待 10 秒。