ahmetgunes/scheduledevent

用于php的定时事件库

v0.2.2 2018-02-13 13:37 UTC

This package is not auto-updated.

Last update: 2024-09-21 16:22:32 UTC


README

ScheduledEvent使用消息队列来抛出事件,你可以创建一个消息并将其传递给管理者。管理者的目的是将“事件”发布到消息队列,并使用路由器消费传入的消息并进行路由。

如何使用

实现QueueManagerInterface,它应该构建发布/消费事件的Manager。不同的事件必须有自己的类,这样你就可以有自己的数据。你的消息类必须实现convert()deConvert()方法,以将你的事件转换为所选的消息队列。

例如;

    class SendSMSMessage extends AbstractMessage
    {
           protected $receiver;
           
           protected $text;
    }

你应该通过实现MessageSerializerInterfece序列化消息,或者将已序列化的消息发送给管理者

在实现RouterInterface时,你可以自行决定如何处理事件。你可以使用$type属性来帮助,但你也可以为不同的事件使用不同的消息类(推荐方法)。

你应该将队列定义为优先队列,因为我们使用优先级属性。

如果你将Unix时间戳作为$designatedDate属性传递,则你的消息将重新排队,直到该时间到来

传入

  1. 单元测试
  2. 位于不同仓库上的Apache Kafka包装器