Files
webman-buildadmin-mall/config/process.php

81 lines
2.4 KiB
PHP

<?php
/**
* This file is part of webman.
*
* Licensed under The MIT License
* For full copyright and license information, please see the MIT-LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @author walkor<walkor@workerman.net>
* @copyright walkor<walkor@workerman.net>
* @link http://www.workerman.net/
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/
use support\Log;
use support\Request;
use app\process\Http;
use app\process\AngpowImportJobs;
use app\process\PlayxJobs;
global $argv;
$workerCount = env('WEBMAN_WORKER_COUNT', '');
if ($workerCount === '' || $workerCount === null) {
$workerCount = max(4, cpu_count() * 4);
}
$process = [
'webman' => [
'handler' => Http::class,
'listen' => 'http://0.0.0.0:6969',
'count' => (int) $workerCount,
'user' => '',
'group' => '',
'reusePort' => false,
'eventLoop' => '',
'context' => [],
'constructor' => [
'requestClass' => Request::class,
'logger' => Log::channel('default'),
'appPath' => app_path(),
'publicPath' => public_path()
]
],
'monitor' => [
'handler' => app\process\Monitor::class,
'reloadable' => false,
'constructor' => [
'monitorDir' => array_merge([
app_path(),
config_path(),
base_path() . '/process',
base_path() . '/support',
base_path() . '/resource',
base_path() . '/.env',
], glob(base_path() . '/plugin/*/app') ?: [], glob(base_path() . '/plugin/*/config') ?: [], glob(base_path() . '/plugin/*/api') ?: []),
'monitorExtensions' => [
'php', 'html', 'htm', 'env'
],
'options' => [
'enable_file_monitor' => !in_array('-d', $argv ?? []) && DIRECTORY_SEPARATOR === '/',
'enable_memory_monitor' => DIRECTORY_SEPARATOR === '/',
]
]
],
];
$disableBackgroundJobs = filter_var(env('PLAYX_DISABLE_BACKGROUND_JOBS', '0'), FILTER_VALIDATE_BOOLEAN);
if (!$disableBackgroundJobs) {
$process['playx_jobs'] = [
'handler' => PlayxJobs::class,
'reloadable' => false,
];
$process['angpow_import_jobs'] = [
'handler' => AngpowImportJobs::class,
'reloadable' => false,
];
}
return $process;