diff --git a/docker/README.md b/docker/README.md index 1981b3cd..b99b12e5 100644 --- a/docker/README.md +++ b/docker/README.md @@ -143,6 +143,8 @@ docker run \ -e "BASE_URL_REDIRECT_TO=https://my-landing-page.com" \ -e "REDIS_SERVERS=tcp://172.20.0.1:6379,tcp://172.20.0.2:6379" \ -e "BASE_PATH=/my-campaign" \ + -e WEB_WORKER_NUM=64 \ + -e TASK_WORKER_NUM=32 \ shlinkio/shlink ``` @@ -164,6 +166,9 @@ The whole configuration should have this format, but it can be split into multip "invalid_short_url_redirect_to": "https://my-landing-page.com", "regular_404_redirect_to": "https://my-landing-page.com", "base_url_redirect_to": "https://my-landing-page.com", + "base_path": "/my-campaign", + "web_worker_num": 64, + "task_worker_num": 32, "redis_servers": [ "tcp://172.20.0.1:6379", "tcp://172.20.0.2:6379" diff --git a/module/Core/src/Config/SimplifiedConfigParser.php b/module/Core/src/Config/SimplifiedConfigParser.php index c8de3b4f..95c777e8 100644 --- a/module/Core/src/Config/SimplifiedConfigParser.php +++ b/module/Core/src/Config/SimplifiedConfigParser.php @@ -30,6 +30,8 @@ class SimplifiedConfigParser 'delete_short_url_threshold' => ['delete_short_urls', 'visits_threshold'], 'redis_servers' => ['redis', 'servers'], 'base_path' => ['router', 'base_path'], + 'web_worker_num' => ['zend-expressive-swoole', 'swoole-http-server', 'options', 'worker_num'], + 'task_worker_num' => ['zend-expressive-swoole', 'swoole-http-server', 'options', 'task_worker_num'], ]; private const SIMPLIFIED_CONFIG_SIDE_EFFECTS = [ 'delete_short_url_threshold' => [ diff --git a/module/Core/test/Config/SimplifiedConfigParserTest.php b/module/Core/test/Config/SimplifiedConfigParserTest.php index f58cb5f5..20afab7f 100644 --- a/module/Core/test/Config/SimplifiedConfigParserTest.php +++ b/module/Core/test/Config/SimplifiedConfigParserTest.php @@ -52,6 +52,7 @@ class SimplifiedConfigParserTest extends TestCase 'port' => '1234', ], 'base_path' => '/foo/bar', + 'task_worker_num' => 50, ]; $expected = [ 'app_options' => [ @@ -102,6 +103,14 @@ class SimplifiedConfigParserTest extends TestCase 'not_found_redirects' => [ 'invalid_short_url' => 'foobar.com', ], + + 'zend-expressive-swoole' => [ + 'swoole-http-server' => [ + 'options' => [ + 'task_worker_num' => 50, + ], + ], + ], ]; $result = ($this->postProcessor)(array_merge($config, $simplified));