elefant/

app-resque

Elefant CMS 的 PHP-Resque 集成

安装次数: 8

依赖项: 0

建议者: 0

安全性: 0

星标: 2

关注者: 2

分支: 0

开放问题: 1

类型:elefant-app

dev-master 2013-09-17 04:23 UTC

This package is auto-updated.

Last update: 2024-08-25 06:30:46 UTC


README

这是一个将 PHP-Resque 集成到 Elefant CMS 的应用程序,这样您可以轻松地将后台任务添加到您的应用程序中。

需求

PHP-Resque 需要 Redis 2.2+ 以及 PCNTL 扩展

安装

  1. 将应用程序安装到 apps/ 文件夹。
  2. apps/resque/conf/config.php 复制到 conf/app.resque.config.php 并在那里编辑设置。

将作业添加到队列中

首先您需要初始化应用程序以将作业添加到队列中

<?php

// Initialize the Resque app
$this->run ('resque/init');

?>

初始化应用程序后,您可以在之后任何地方调用 Resque::enqueue()

<?php

// Enqueue a job after calling resque/init
Resque::enqueue ('queue_name', 'JobName', array ('arg1' => 'value'));

?>

定义作业

在 Resque 中定义作业是通过创建一个以作业名称命名的类,并在其中包含一个将被调用来执行作业的 perform() 方法来完成的。

<?php

class JobName {
	public function perform () {
		printf ("Test job, received: %s\n", $this->args['arg1']);
	}
}

?>

将此保存到您的应用程序的 lib/ 文件夹中,例如 apps/myapp/lib/JobName.php

运行工作进程

要启动运行工作进程,请使用以下命令

$ ./elefant resque/run

您也可以通过传递参数到命令来覆盖大部分设置,包括

  • --help 显示帮助输出
  • --logging=(off|normal|verbose) 设置日志级别
  • --pid-file=./resque.pid 设置 PID 文件
  • --queue=queue_name 指定要监视的队列
  • --sleep-interval=5 睡眠秒数
  • --workers=5 生成的工作进程数量