1. Go to this page and download the library: Download alex-salt/yii2-tasks library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
use alexsalt\tasks\TaskWorker;
class WorkerController extends \yii\console\Controller {
public function actionMyTask() {
$worker = new TaskWorker([
'queue' => 'tasks',
]);
$worker->start();
}
}
use alexsalt\tasks\BaseMessage;
use alexsalt\tasks\AbstractWorker;
// declare message class with structure
class MyMessage extends BaseMessage {
public $a;
public $b;
}
// declare worker with our handler
class MyWorker extends AbstractWorker {
/**
* @param MyMessage $msg
*/
public function processMessage(BaseMessage $msg) {
if ($msg->a - $msg->b) {
return $this->ack($msg);
} else if (!$msg->b) {
Yii::error('dont like the message');
return $this->drop($msg);
} else {
return $this->nack($msg);
}
}
}
// create and send message
$msg = new MyMessage([ 'a' => 1 ]);
Yii::$app->rmq->sendToQueue($msg, 'my-queue');
// start worker that does stuff
$worker = new MyWorker([ 'queue' => 'my-queue' ]);
$worker->start();
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.