标签: message-queue

确定窗口消息队列深度

我们有一个应用程序使用窗口消息队列将数据从套接字传递到消费者HWND(以~2100Hz的速率).此应用程序已工作超过2年.最近,我们的应用程序已经开始出现问题,我们的应用程序没有触发/执行WM_TIMER.我认为这是由于数据被泵入消息队列.

我的问题是有一种方法可以确定给定线程/ HWND的消息队列中有多少未决消息?

winapi postmessage message-queue

2
推荐指数
1
解决办法
1577
查看次数

将数据写入来自单个应用程序C#,Visual Studio 2008的多个实例的一个文件

我有一个Visual Studio项目,可以安装到我们公司大约一半的PC上.

该应用程序有一个错误记录例程,它将错误消息附加到保存在此处的文本文件中:

static string _appPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), Application.CompanyName);
Run Code Online (Sandbox Code Playgroud)

在大多数情况下,这很好用,并允许我到个人电脑上的日志文件.

它无处不在.某些用户的帐户有限,无权写入该Environment.SpecialFolder.CommonApplicationData文件夹.

我可以在这里修改存储的路径:

static string _newPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), Application.CompanyName);
Run Code Online (Sandbox Code Playgroud)

但是,当我需要收集日志文件时,我必须深入了解每台PC上的每个用户帐户文件夹以获取日志.

我想要做的是将这些消息存储在我们的内部网络上.这个问题是如何处理多个写实例.

static string _netPath = Path.Combine(@"\\FileServer1", Application.CompanyName);
Run Code Online (Sandbox Code Playgroud)

我想使用Messaging,但我不知道该怎么做 - 或者它是否是一个很好的解决方案.管理层希望我在本周五(今天是星期三)推出此更新.

_netPath用于存储来自我们网络中的大约100台PC的日志文件的最简单,最可靠的方法是什么?

注意:如果您引用MSDN,请粘贴文章.我们有一个旧的Microsoft ISA防火墙,无法通过MSDN网站.(ISA服务器每次都会超时,而且它是如此令人费解!请参阅ISA代理服务器无法...对于我未解决的问题.)

c# message-queue visual-studio

2
推荐指数
1
解决办法
168
查看次数

Python/Django AMQP?

我有一个Django Web应用程序,可以在数据库中创建和保存作业.对于每项工作,我必须发送电子邮件并将数据导出到另一个系统.我想做异步.

做这样的任务的推荐方法是什么?

  • 它必须是可靠的(如果服务意外停止,则不会错过任何工作).
  • 如果出现问题,必须有简单的方法来查找日志.
  • 我希望能够轻松添加更多将处理工作的工人.

  • 也许如果作业队列是相同的数据库表会更好,所以我可以通过简单地改变它们在数据库中的状态来轻松取消作业?

  • 也许如果解决方案与Django框架有某种关系会更好吗?

python django message-queue amqp

2
推荐指数
1
解决办法
1973
查看次数

单点对点队列和多个侦听器

我有一个'点对点'IBM MQ队列接收来自多个生产者的消息.我的应用程序使用队列中的消息.我使用spring'jmstemplate"和"DefaultMessageListenerContainer"来异步使用消息.

我的应用程序运行在2个jvms上,这意味着每个jvm上有2个侦听器在监听同一个队列时处于活动状态.

来到我的问题,如果收到消息......

1)听众如何知道消息到达队列?

2)在两个听众中,哪一个会收到消息?将消息分发给侦听器的方法是什么?

3)我可以扩展到单个队列的'N'数量的听众吗?如果我成长为10个听众,缩放是如何工作的?如何将消息分发给听众?

4)MQ服务器如何确保不向多个侦听器发送相同的消息?

可能这些是简单的问题,但无法深入了解上述方案的工作原理.请分享你的想法......

spring message-queue spring-jms ibm-mq

2
推荐指数
1
解决办法
3939
查看次数

从MSMQ Journal读取消息队列发送时间

我有一个启用了Journal的MSMQ.由于我们每天收到超过1000封邮件这一事实,我想清除期刊以仅保留最近2天的邮件.因此,我想阅读所有邮件,并根据"当前日期 - 2天"检查其SentTime属性.但目前程序将停止,因为不会提供Property SentTime.

错误:"PropertyFilter未正确设置"

代码:

class Program {

    static void Main(string[] args) {

        string queueName = ".\\private$\\TEST;journal";

        MessageQueue msgQueue = new MessageQueue(queueName);
        Message[] messages = msgQueue.GetAllMessages();

        try{

            foreach (Message msg in messages){
                //if(msg.SentTime < DateTime.Today.AddDays(-2)){
                    Console.WriteLine(msg.SentTime);
                //}
            }

        }catch (Exception e){

            Console.WriteLine(e.Message);

        }

        Console.Read();

    }

}
Run Code Online (Sandbox Code Playgroud)

为什么我无权访问该物业?谁可以帮忙?非常感谢!

c# properties message-queue journal

2
推荐指数
1
解决办法
3734
查看次数

如何通过系统衡量事件发生率

我需要测量软件系统消耗来自消息队列的消息的速率并定期报告.

具体来说,消息从消息排队系统到达,我需要报告(每秒)在多个滚动窗口内收到的消息数量 - 例如最后一秒,最后5秒,最后30秒等.

虽然我确信我可以建立这个,但我不确定我会以最有效的方式解决这个问题!我也确定有这样的库(我正在使用JVM,因此我想到了Apache Commons Math),但我甚至不知道Google的正确用语!:-)

math message-queue rate

2
推荐指数
1
解决办法
1207
查看次数

如何从Activemq推送消息

我是activemq的新手.我读了一些文章并做了这个.请帮助我解决以下任务.我从我的java应用程序向activemq生成一条消息,我在另一个java应用程序中有该消息的消费者.所以我将从activemq获取消息.每次这个消费者(听众)在activemq中寻找消息.我的问题是activemq可以将消息推送到消费者(监听器).

activemq仅用于存储消息?它会进行任何推拉操作吗?activemq总是需要生产者(产生消息)和消费者(消费消息)?

谁能帮我

谢谢

java activemq-classic jms message-queue

2
推荐指数
1
解决办法
4278
查看次数

SQS消息大小

根据我对文档的理解,队列条目大小限制为256KB.SQS是否应该保留需要传递给队列读者的"对象"?
如果我需要传递大小> 256KB的对象,可以使用哪些替代解决方案(可能会拆分它们?)

message-queue amazon-sqs amazon-web-services

2
推荐指数
1
解决办法
1514
查看次数

消息队列协议:PGM与UDP

我需要与几位尚未出售的同事进行智能对话,这些同事拥有经过尝试和信任的消息排队库,如MSMQ,ZeroMQ,RabbitMQ等,我们在解决方案中需要这种类型的消息传递.

但是为了向同事们销售使用既定解决方案的好处,我需要了解PGM和UDP之间的根本区别.什么是PGM解决UDP多播无法解决的问题?

udp multicast message-queue

2
推荐指数
1
解决办法
1039
查看次数

在nservicebus处理程序期间锁定

我有一个场景,其中我需要一个nservicebus消息处理程序,以防止同一个saga的多个消息同时被执行.

为了论证的处理程序做这样的事情(在这个例子中过于简化的方式(

信息:

public class MyMessage : IMessage {
  public int OrderId {get;set;}
  public int NewQuantityLevel {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

佐贺:

public void Handle(MyMessage message)
{
    // call remote service to get current order quantity
    // do some logic and update remote service with difference between original and new quantity

    Bus.Send(new MyOtherMessage())
}
Run Code Online (Sandbox Code Playgroud)

现在我是我的流程我可以随时收到2条或更多这些消息,我不想让它们检索可能已经在其他地方更新或修改过程中的订单数量.

我考虑了一些解决方案:

  1. 获取订单的互斥锁(目前我们只在一台机器上运行一个工人实例,但将来有可能有多个,在这种情况下我们可能会使用redis锁或类似的东西)
  2. 在服务中使用sql锁定对行/数据进行序列化锁定(不确定这是否会起作用)

这些都不是真的看起来最优,而且确实感觉我正在反对这个框架

nservicebus message-queue

2
推荐指数
1
解决办法
461
查看次数