基于rabbitmq构建一个类似resque的作业处理系统.docVIP

  • 2
  • 0
  • 约3.48千字
  • 约 6页
  • 2018-07-06 发布于福建
  • 举报

基于rabbitmq构建一个类似resque的作业处理系统.doc

基于RabbitMQ构建一个类似Resque的作业处理系统   许多不同的使用情况和使用模式都可以建立在这个强大的软件之上,但在第一次尝试为一个特定的解决方案编写代码时,差错和设计错误也是司空见惯的事情。  在本文中,我将讨论 Palermo 的设计和实现,它是一个实现了可以将RabbitMQ用作底层排队机制构建的那些可能的使用模式其中之一:批处理作业处理系统。  通过批处理作业处理系统,我们引用了一种机制来由 作业程序从不同队列中提取作业的自动执行。客户可以排入新的作业到这些队列,它们最终将被传递给将执行作业的程序。如果在执行一个任务失败了,作业程序线程将会把失败的作业放入一个特殊的队列,它可以重新执行,或者检查出来进行错误调试。  创建Palermo的灵感主要来自于Resque ,它是一个作业处理系统,由Github使用Ruby和Redis创建.  对于系统的使用者,Resque让这些变成可能:定义拥有不同名字的队列;作业排队时,在系统中通过某个输入参数匹配Ruby类名;在不同的机器中启动工作者进程--它们将处理作业,实例化Ruby类,并使用提供的输入参数来执行作业.如果作业执行失败,作业将被路由到一个特殊的失败作业队列.在这个队列中的作业会重新执行或被删除.Resque工作者和底层的操作系统很好的集成在一起,它可以像系统操作者控制作业执行的方式,来处理即将到来的信号.它也

文档评论(0)

1亿VIP精品文档

相关文档