yarcode/yii2-daemon

Yii2 daemon based on ReactPHP

Installs: 4 996

Dependents: 2

Suggesters: 0

Security: 0

Stars: 4

Watchers: 4

Forks: 0

Open Issues: 0

Type:yii2-extension

0.3.1 2016-07-28 10:23 UTC

This package is not auto-updated.

Last update: 2024-04-27 17:31:40 UTC


README

Yii2 daemon based on ReactPHP

Installation

The preferred way to install this extension is through composer.

Either run

php composer.phar require --prefer-dist yarcode/yii2-daemon

or add

"yarcode/yii2-daemon": "*"

Usage

Extend the YarCode\Yii2\Daemon\DaemonCommand class and add your own prepare() implementation.

<?php
namespace console\controllers;

use YarCode\Yii2\Daemon\DaemonCommand;

class AsyncController extends DaemonCommand
{
    public function prepare()
    {
        $this->loop->addPeriodicTimer(1, function() {
            \Yii::$app->db->createCommand('SELECT 1')->execute();
        });
        $this->loop->addPeriodicTimer(0.1, function() {
            while ($task = \Yii::$app->async->receiveTask('search')) {
                if ($task->execute()) {
                    \Yii::$app->async->acknowledgeTask($task);
                }
            }
        });
    }
}