摘要: 在你能使用调度器前,它需要被实例化(谁会猜到呢?)。做这个,你需要一个ISchedulerFactory的实现器。一旦一个调度器被实例化,它就可以被启动,处于待用模式和关闭。请注意,一个调度器一旦被关闭,它在没有被重新实例化前是不能被重启的。触发器不会触发(工作不会执行)直到调度器被启动,而不是它处 阅读全文
posted @ 2020-11-19 09:02 大道无忧 阅读(140) 评论(0) 推荐(0) 编辑
摘要: (使用 php-amqplib) 在第二节教程里,我们学习了怎样在多个工作者之间使用工作队列来分发耗时任务。 但如果我们需要在一个远程电脑上运行一个函数并且等待运行结果要怎样做呢?好吧,那是另一个问题了。这种模式通常被称为远程过程调用,或者RPC(Remote Procedure Call)。 在这 阅读全文
posted @ 2020-06-29 16:19 大道无忧 阅读(295) 评论(0) 推荐(0) 编辑
摘要: (使用 php-amqplib) 在上一篇教程中我们升级了我们的日志系统,用一个“direct”交换来代替仅能做模拟广播的“fanout”交换,以此来达到可以选择性接收日志的功能。 尽管使用“direct”交换升级了我们的系统,它仍然有局限性——它不能基于多个标准做路由。 在我们的日志系统内,我们可 阅读全文
posted @ 2020-06-28 17:44 大道无忧 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 一、路由(Routing) (使用 php-amqplib) 在前一篇教程里,我们建立了一个简单的日志系统,我们能够广播日志信息给多个接受者。 在这篇教程中我们将给它添加一个功能——我们将仅订阅一个消息的子集。例如,我们仅将致命错误消息发给日志文件(以节省磁盘空间),并且仍旧可以打印所有的日志消息到 阅读全文
posted @ 2020-06-28 09:41 大道无忧 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 一、发布/订阅 (使用 php-amqplib) 在前一篇教程中我们建立了一个工作队列。工作队列假设每个任务被精确的发送给一个工作者。在这部分,我们将做一些完全不同的事情——我们将发送一条消息给多个消费者。这种模式被称为“发布/订阅”。 为了说明这种模式,我们将建立一个简单的日志系统。它将有两个程序 阅读全文
posted @ 2018-03-19 15:11 大道无忧 阅读(4153) 评论(0) 推荐(0) 编辑
摘要: 一、工作队列 (使用 php-amqplib) 在第一篇教程中我们写程序从一个命名队列中发送和接收消息。在这篇中,我们将建立一个在多个工作者之间用于分发耗时任务的工作队列。 工作队列(也称为:任务队列)背后的主要思想是避免立即做一项资源密集型任务并且不得不等候它完成。而是我们计划这个任务在稍后被完成 阅读全文
posted @ 2018-03-19 13:14 大道无忧 阅读(1401) 评论(0) 推荐(1) 编辑
摘要: 一、简介 RabbitMQ 是一个消息代理:它接收并转发消息。你能把它想象成一个邮局:当你把一封想要邮寄的信件放到一个邮箱里的时候,你能确定邮递员最终一定会把你的这封信递交给你的收信人。以此来比喻,RabbitMQ就是一个邮箱,一个邮局和一个邮递员。 RabbitMQ和邮局之间最大的不同是Rabbi 阅读全文
posted @ 2018-03-16 15:27 大道无忧 阅读(382) 评论(0) 推荐(0) 编辑