1. Go to this page and download the library: Download kfosoft/yii2-daemon 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/ */
kfosoft / yii2-daemon example snippets
php composer.phar
namespace console\controllers;
use kfosoft\daemon\WatcherDaemon;
class WatcherDaemonController extends WatcherDaemon
{
/**
* @return array
*/
protected function defineJobs()
{
sleep($this->sleep);
//TODO: modify list, or get it from config, it does not matter
$daemons = [
['className' => 'OneDaemonController', 'enabled' => true],
['className' => 'AnotherDaemonController', 'enabled' => false]
];
return $daemons;
}
}
namespace console\controllers;
use kfosoft\daemon\Daemon;
class {NAME}DaemonController extends Daemon
{
/**
* @return array
*/
protected function defineJobs()
{
/*
TODO: return task list, extracted from DB, queue managers and so on.
Extract tasks in small portions, to reduce memory usage.
*/
}
/**
* @return jobtype
*/
protected function __invoke($job)
{
/*
TODO: implement you logic
Don't forget to mark task as completed in your task source
*/
}
}
/**
* Adjusting logger. You can override it.
*/
protected function initLogger()
{
$targets = \Yii::$app->getLog()->targets;
foreach ($targets as $name => $target) {
$target->enabled = false;
}
$config = [
'levels' => ['error', 'warning', 'trace', 'info'],
'logFile' => \Yii::getAlias($this->logDir) . DIRECTORY_SEPARATOR . $this->shortClassName() . '.log',
'logVars'=>[], // Don't log all variables
'exportInterval'=>1, // Write each message to disk
'except' => [
'yii\db\*', // Don't
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.