From 1ca134205231b1a5476113df8c3d8e271b88c874 Mon Sep 17 00:00:00 2001 From: "Ronald A. Richardson" Date: Fri, 19 Dec 2025 15:56:03 +0800 Subject: [PATCH] feat: fixed optimization changes for octane, added deprecation workflow --- Caddyfile | 13 +------------ api/config/octane.php | 4 ++-- console/app/app.js | 1 + console/app/deprecation-workflow.js | 9 +++++++++ console/config/environment.js | 2 +- docker/Dockerfile | 6 +++--- 6 files changed, 17 insertions(+), 18 deletions(-) create mode 100644 console/app/deprecation-workflow.js diff --git a/Caddyfile b/Caddyfile index ffd0243e..56034a28 100644 --- a/Caddyfile +++ b/Caddyfile @@ -1,9 +1,6 @@ { frankenphp { - # Reduced from 24 to 20 for better resource management - # With 4 containers: 20 × 4 = 80 total workers - # Requires db.t3.large (591 max connections) or better - num_threads 20 + num_threads 24 } order php_server before file_server } @@ -12,14 +9,6 @@ http://:8000 { root * /fleetbase/api/public encode zstd br gzip - # Request timeouts to prevent hanging - timeouts { - read_body 10s - read_header 5s - write 60s - idle 120s - } - php_server { resolve_root_symlink } diff --git a/api/config/octane.php b/api/config/octane.php index 81b6bc33..fb43d5cd 100644 --- a/api/config/octane.php +++ b/api/config/octane.php @@ -105,8 +105,8 @@ return [ OperationTerminated::class => [ FlushOnce::class, FlushTemporaryContainerInstances::class, - DisconnectFromDatabases::class, // ✅ Release DB connections after each request - CollectGarbage::class, // ✅ Prevent memory leaks + DisconnectFromDatabases::class, + CollectGarbage::class, ], WorkerErrorOccurred::class => [ diff --git a/console/app/app.js b/console/app/app.js index 03884696..2354c55f 100644 --- a/console/app/app.js +++ b/console/app/app.js @@ -2,6 +2,7 @@ import Application from '@ember/application'; import Resolver from 'ember-resolver'; import loadInitializers from 'ember-load-initializers'; import config from '@fleetbase/console/config/environment'; +import './deprecation-workflow'; export default class App extends Application { modulePrefix = config.modulePrefix; diff --git a/console/app/deprecation-workflow.js b/console/app/deprecation-workflow.js new file mode 100644 index 00000000..43056e31 --- /dev/null +++ b/console/app/deprecation-workflow.js @@ -0,0 +1,9 @@ +import setupDeprecationWorkflow from 'ember-cli-deprecation-workflow'; + +setupDeprecationWorkflow({ + workflow: [ + { handler: 'silence', matchId: 'ember-concurrency.deprecate-decorator-task' }, + { handler: 'silence', matchId: 'new-helper-names' }, + { handler: 'silence', matchId: 'ember-data:deprecate-non-strict-relationships' }, + ], +}); diff --git a/console/config/environment.js b/console/config/environment.js index 7f8fcf06..1916b1d7 100644 --- a/console/config/environment.js +++ b/console/config/environment.js @@ -23,7 +23,7 @@ module.exports = function (environment) { APP: { autoboot: true, extensions: asArray(getenv('EXTENSIONS')), - disableRuntimeConfig: toBoolean(getenv('DISABLE_RUNTIME_CONFIG')), + disableRuntimeConfig: toBoolean(getenv('DISABLE_RUNTIME_CONFIG', environment === 'production')), }, API: { diff --git a/docker/Dockerfile b/docker/Dockerfile index acab6ccc..8858413e 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -158,14 +158,14 @@ CMD ["php", "artisan", "queue:work"] # Application dev stage FROM base AS app-dev ENTRYPOINT ["docker-php-entrypoint"] -CMD ["sh", "-c", "php artisan octane:frankenphp --workers=20 --max-requests=1000 --port=8000 --host=0.0.0.0 --watch"] +CMD ["sh", "-c", "php artisan octane:frankenphp --max-requests=1000 --port=8000 --host=0.0.0.0 --watch"] # Application release stage FROM base AS app-release ENTRYPOINT ["docker-php-entrypoint"] -CMD ["sh", "-c", "php artisan octane:frankenphp --workers=20 --max-requests=1000 --port=8000 --host=0.0.0.0"] +CMD ["sh", "-c", "php artisan octane:frankenphp --max-requests=1000 --port=8000 --host=0.0.0.0"] # Application stage FROM base AS app ENTRYPOINT ["/sbin/ssm-parent", "-c", ".ssm-parent.yaml", "run", "--", "docker-php-entrypoint"] -CMD ["sh", "-c", "php artisan octane:frankenphp --workers=20 --max-requests=1000 --port=8000 --host=0.0.0.0"] +CMD ["sh", "-c", "php artisan octane:frankenphp --max-requests=1000 --port=8000 --host=0.0.0.0"]