问题标签 [azure-storage-queues]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3311 浏览

c# - 使用一个或多个标准 FIFO 队列实现延迟队列

延迟队列是一个队列,其中每条消息都有与其相关联的延迟时间,并且只有在延迟到期时才能获取消息。队列的头部是过去延迟过期最远的消息。如果没有延迟过期,则没有头,出队将返回 null。

实际上,我正在使用 Azure 编写一个云应用程序,在 Azure 中只有 FIFO 队列可用,而不是优先级/延迟队列。所以我来到这里寻找是否有人可以给我一些指示,从那里我可以朝着正确的方向开始。我用谷歌搜索了很多,但只发现了 Java 中的延迟队列实现,没有标准的教程/研究论文讨论一般的延迟队列。

编辑:

我有什么代码?
实际上,我必须首先设计这些东西并将其提交给我的经理,一旦我们完成设计,然后只有我可以开始编码。

有关该场景的更多详细信息
它是一个基于主/从模型的分布式应用程序。主服务器产生消息并将它们放入 Azure 服务总线队列,并且有多个从服务器(在多台机器上运行)从队列中读取并处理它们。如果万一主站宕机,则其中一个从站充当主站并开始生成消息。我不想在主服务器中存储任何状态信息,因为万一主服务器出现故障,所有状态信息也会随之而来。

0 投票
2 回答
414 浏览

c# - CloudQueue.EndAddMessage(IAsyncResult) 实际上做了什么?

假设我打电话

QueueMessageAdded在哪里

EndAddMessage做什么?

包括等待所有回调被调用,它和调用同步版本一样慢:

0 投票
1 回答
1834 浏览

filtering - 使用 Windows Azure 过滤队列中的消息

有什么方法可以根据属性过滤消息吗?我的意思是,只有某些属性才能让 Worker 角色使用它?

0 投票
4 回答
2970 浏览

c++ - 适用于 C++ 的 Windows Azure SDK

我的项目的一部分是用 C++ 编写的工作应用程序,在 Linux 上运行。我刚刚发现 MS 不提供 C++ 版本的 Windows Azure SDK。我需要访问 Windows Azure 存储队列。

SDK 有 C++ 端口吗?是否有机会使用其他语言的 SDK(即 python、node.js)?或者最好的选择是使用 REST API?

0 投票
1 回答
338 浏览

multithreading - Azure Worker Roles,在内存中聚合数据的最佳方法?

我有这些 X 数量的工作角色,它们将使用多个线程处理 Azure 队列。在这些队列中流动的数据相当简单(对于这个 Client_ID,我们有动作 A、B 或 C,每个事务一个动作)但是会有很多,每秒超过 5000 个事务。现在我需要以显示 Client_ID 的格式聚合这些,A 类型的 43 个事务,B 的 20 个事务,C 的 11 个事务。基本上总结了它们。但是队列上的 GetMessages 只能从队列中检索 32 条消息。

我的问题是 - 我是否应该一直检索 32 直到我说 1000,然后遍历它们并总结它们?或者将总数保存在列表、队列或缓存中?

你会为我的场景推荐最佳聚合器机制,知道可能有 10 个工作角色和 5 个线程始终从这些队列获取消息?

0 投票
2 回答
3193 浏览

azure - 如何向所有工作角色实例发送消息?

我使用 AzureQueue 在角色之间进行通信。我的消息,如“GoToMaintenanceMode”、“StopSendingEmails”、“DoNotAcceptRequests”等。但我意识到,当我有多个实例时,它不适用于我的场景,因为队列消息一次只显示一个实例。

所以我的问题是除了下面的选项之外,是否有一种优雅的方式来处理这个问题,比如 Role.AllInstances.Run() 等?

我现在使用的方法: 实例查看消息,将它自己的实例 ID 添加到消息中并将其放回队列,如果消息包含它自己的实例 ID,则不查看消息。

PS我不想实现TCP侦听器,如果有本地解决方案,请询问。

0 投票
1 回答
451 浏览

azure - transactionScope 如何影响 Azure 队列?

如果在 transactionScope 内进行 Azure 队列事务(推送/弹出),是否需要提交它们,或者无论事务完整性如何都已完成?

0 投票
2 回答
2156 浏览

azure - Azure 队列存储 - 在调用 CloudQueue.GetMessages() 后立即将消息标记为可见

问题:

我正在从 Azure 存储队列读取消息,然后使用辅助角色将它们插入到存储表中。

我想读入消息,但仅在至少有 100 条消息时才处理它们(这是为了优化正在发生的存储表批量插入)。如果消息少于 100 条,那么我想取消消息处理并使它们立即在队列中再次可见,以供下一个队列读取。

问题:

是否可以将刚刚读取的消息标记CloudQueue.GetMessages(...)为可见,而无需等待超时到期?

代码:(在 WorkerRole.cs 中)

谢谢

0 投票
1 回答
752 浏览

php - 轮询 Azure 队列返回损坏的管道

使用azure-sdk-for-php长轮询 Azure 队列存储时,如果我的请求相隔超过 30 秒,则库会因以下错误而死:

如果我将睡眠功能设置为 30 秒,一切都会很好,但我会发出很多我不需要的请求。

我的工人代码:

0 投票
1 回答
223 浏览

azure - Azure 队列:如何确定消息不可见超时何时到期

在 Azure 队列中,有没有办法找出消息不可见超时何时到期。我想检查超时是否会过期并在需要时延长。