elefant / app-resque
Elefant CMS 的 PHP-Resque 集成
dev-master
2013-09-17 04:23 UTC
Requires
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 扩展。
安装
- 将应用程序安装到
apps/
文件夹。 - 将
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
生成的工作进程数量