Skip to content

phantom-d/yii2-file-daemon

Repository files navigation

Yii2 file daemon

Yii2 демон для работы с файлами

Установка

Получение пакета Composer

Предпочтительный способ установки этого расширения через composer.

Выполнить команды:

php composer.phar require --prefer-dist phantom-d/yii2-file-daemon "dev-master"

или добавить в секцию require:

"phantom-d/yii2-file-daemon": "dev-master"

в ваш файл composer.json

Настройка приложения

1 - Для первоначальной настройки рекомендуется скопировать базовый файл настройки демонов. Базовый файл конфигурации располагается в директории @vendor/phantom-d/yii2-file-daemon/config/daemons.php

Создать директорию:

  • Шаблон Yii2-base - @app/config/daemons
  • Шаблон Yii2-advanced - @app/common/config/daemons

В созданную директорию скопировать базовый файл конфигурации. В базовом файле конфигурации указаны настройки демона контролирующего запуск и остановку остальных демонов.

2 - Создаём файл контроллера демона с именем FileServerDaemonController.php, который буде выполнять роль демона обработки файлов:

  • Шаблон Yii2-base - @app/console
<?php

namespace app\console;

use phantomd\filedaemon\console\controllers\FileDaemonController;

/**
 * Class FileServerDaemonController.
 */
class FileServerDaemonController extends FileDaemonController
{

}
  • Шаблон Yii2-advanced - @app/console/controllers
<?php

namespace console\controllers;

use phantomd\filedaemon\console\controllers\FileDaemonController;

/**
 * Class FileServerDaemonController.
 */
class FileServerDaemonController extends FileDaemonController
{

}

3 - Создаём файл контроллера наблюдателя с именем WatcherDaemonController.php, который буде выполнять роль демона обработки файлов:

  • Шаблон Yii2-base - @app/console
<?php

namespace app\console;

use phantomd\filedaemon\console\controllers;

/**
 * Class WatcherDaemonController.
 */
class WatcherDaemonController extends controllers\WatcherDaemonController
{

}
  • Шаблон Yii2-advanced - @app/console/controllers
<?php

namespace console\controllers;

use phantomd\filedaemon\console\controllers;

/**
 * Class WatcherDaemonController.
 */
class WatcherDaemonController extends controllers\WatcherDaemonController
{

}

4 - Создаём файл REST контроллера с именем DaemonController.php, с помощью которого будете добавлять данные для постановки задач на обработку

  • Шаблон Yii2-base - @app/controllers
<?php

namespace app\controllers;

/**
 * Class DaemonController. Frontend REST controller.
 */
class DaemonController extends \phantomd\filedaemon\frontend\controllers\DaemonController
{

    /**
     * @var string Daemon name in configuration
     */
    protected static $configAlias = 'file-server';

}
  • Шаблон Yii2-advanced - @app/frontend/controllers
<?php

namespace frontend\controllers;

/**
 * Class DaemonController. Frontend REST controller.
 */
class DaemonController extends \phantomd\filedaemon\frontend\controllers\DaemonController
{

    /**
     * @var string Daemon name in configuration
     */
    protected static $configAlias = 'file-server';

}

5 - Для непрерывной работы наблюдателя добавьте эту строчку в crontab:

5 * * * * /{PATH/TO/YII/PROJECT}/yii watcher-daemon --demonize=1

Наблюдатель не может стартовать дважды, только один процесс может работать.

About

Yii2 file daemon

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages