使用Iron.mq推送队列与PHP

时间:2013-06-27 20:52:56

标签: php ironmq iron

我正在尝试使用iron.mq推送队列,但是在收到消息后很难确定如何正确响应队列。我意识到我可能也不完全理解队列系统的行为,但我的理解是它是这样的:

  1. 发送到队列的消息
  2. 从队列推送到我的终端的消息
  3. 在我的终端响应或超时之前,消息是“保留的”
  4. 端点以2xx(成功)响应并被删除或4xx / 5xx失败,在这种情况下,队列将尝试将消息重新发送到端点。
  5. 例如,我的脚本(使用FuelPHP)有这样的东西:

        $headers = Input::headers(); //gets array of headers sent from ironmq
        $data = @file_get_contents('php://input'); //get the body
    

    现在我收到了这条消息,我想做两件事之一:

    1. 处理消息并将响应返回给ironmq服务器
    2. 延迟过程(通过发送4xx / 5xx?)并在一段规定的时间后重新发送。
    3. 但是......你如何回应推送消息?使用PHP SDK的deleteMessage方法会导致异常,因为消息似乎不再存在。

1 个答案:

答案 0 :(得分:1)

所以 - 两种方式:

  1. 202 - >做长期工作 - > deleteMessagePushStatus()
  2. 4xx或5xx - > 4xx或5xx(多次) - > 200