ga / resque
yii2-resque
Requires
- chrisboulton/php-resque: @dev
This package is not auto-updated.
Last update: 2024-09-28 19:52:50 UTC
README
#Yii2-resque(最佳,简单)##安装您需要使用composer主要,您需要在根包(项目目录)中添加以下代码,因为最新的php-resque是dev-master,标记版本是最旧的。
{ "require":{ ... "chrisboulton/php-resque": "@dev" } }
然后运行
composer require ga/resque dev-master
##设置
###对于Yii2-basic
1. 将ResqueController.txt
复制到命令目录,并将其重命名为ResqueController.php
,然后修改命名空间为app\commands
。
2. 修改配置目录中的console.php,添加以下代码。
'resque' => [ 'class' => 'ga\resque\GAResque', 'server' => '127.0.0.1', // Redis server address 'port' => '6379', // Redis server port 'database' => 0, // Redis database number ],
3. 在模型目录中创建*Job.php
。
示例
MyJob.php <?php namespace app\models; class MyJob { public function setUp() { // ... Set up environment for this job } public function perform() { echo "1\n"; $this->args['name']; } public function tearDown() { // ... Remove environment for this job } }
《perform()`方法将处理工作,《setUp()`将在工作开始时运行,《tearDown()`将在工作完成后运行。**注意:**您必须使用\Yii::$app->resque->dequeue('default', 'app\models\MyJob', [1], true);
进行入队,Yii2将根据命名空间通过autoloader
查找文件。
对于Yii2-advanced
1. 将ResqueController.txt
复制到控制台控制器目录,并重命名为ResqueController.php
,然后修改命名空间为console\controllers
。
2. 修改配置目录中的console/main.php,添加以下代码。
'resque' => [ 'class' => 'ga\resque\GAResque', 'server' => '127.0.0.1', // Redis server address 'port' => '6379', // Redis server port 'database' => 0, // Redis database number ],
3. 在模型目录(包括控制台,前端,后端,公共部分)中创建*Job.php
。
示例
MyJob.php <?php namespace backend\models; namespace console\models; namespace frontend\models; namespace common\models; class MyJob { public function setUp() { // ... Set up environment for this job } public function perform() { echo "1\n"; $this->args['name']; } public function tearDown() { // ... Remove environment for this job } }
《perform()`方法将处理工作,《setUp()`将在工作开始时运行,《tearDown()`将在工作完成后运行。
**注意:**您必须使用\Yii::$app->resque->dequeue('default', 'backend\models\MyJob', [1], true);
进行入队,Yii2将根据命名空间通过autoloader
查找文件。
用法
入队和出队作业任务。
\Yii::$app->resque->enqueue('default', 'BadJob', [1], true); \Yii::$app->resque->dequeue('default', 'BadJob', [1], true); \Yii::$app->resque->size('default'); ...
更多信息,您还可以查看php-resque。
注意: dequeue()
目前不可用,将来可以使用。
参数default
是队列名称,BadJob
是完成工作的类。参数[1]
是BadJob
的数组参数。在项目目录的根目录下运行以下代码
nohup QUEUE=* ./yii resque &
注意:*
表示将启动所有队列。您可以用队列名称替换*
,或者像这样QUEUE=default1,default2
将运行指定的队列。