烤饼/Resque

Resque(适用于PHP)是一个基于Redis的后台作业库,用于创建后台作业,将它们放置在多个队列中,并在稍后处理。与原始版本兼容:http://resque.github.io/

1.0.10 2019-05-28 11:59 UTC

This package is auto-updated.

Last update: 2024-08-29 00:12:37 UTC


README

Build Status Scrutinizer Code Quality Code Coverage

Resque

Resque机制的PHP实现。

这是一个全新的实现,具有以下特点

  • 没有静态方法
  • 最小化依赖(仅异步任务处理的核心功能)
  • 良好的编码标准
  • 将psr事件作为任务,因此可以修改行为
  • 严格的类型

安装

在大多数情况下,只需通过composer安装即可。

composer require scones/resque "*@stable"

它是如何工作的?

Resque任务处理是一个去中心化的队列系统。(读:没有主服务器或类似的东西)处理分为两部分,推送作业和工作作业。这些不应该在同一个应用程序中运行,或者至少处理以获得最大效益。

推送作业

处理作业的第一步是将它放入队列。假设您已经创建了resque类,您只需调用$resque->enqueue('SomeClass', ['some' => 'data'], 'some_queue')

此方法将任务放入队列并返回。它不会处理它,因为这不是它的任务。数据将(以非常精确的格式)存储在Redis数据库中。

工作作业

处理作业的第二步是工作器。工作器是一个在任何有权限访问同一Redis数据库的地方运行的进程。

工作器等待配置的队列中的新条目,并在有可用条目时获取一个。在这种情况下,它将构建相应的类(从提供的容器/servicelocator,请参阅示例),并使用enqueue中提供的数组作为参数调用perform

示例

https://github.com/scones/resque-examples下找到可运行的用法示例