diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b9a73db..51ab54ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,22 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com), and this project adheres to [Semantic Versioning](https://semver.org). +## [4.5.1] - 2025-08-24 +### Added +* *Nothing* + +### Changed +* *Nothing* + +### Deprecated +* *Nothing* + +### Removed +* *Nothing* + +### Fixed +* [#2433](https://github.com/shlinkio/shlink/issues/2433) Try to mitigate memory leaks by restarting job and http workers every 250 executions when using RoadRunner. + ## [4.5.0] - 2025-07-24 ### Added diff --git a/composer.json b/composer.json index 83eb7058..915ff2db 100644 --- a/composer.json +++ b/composer.json @@ -56,7 +56,7 @@ "spiral/roadrunner-jobs": "^4.6", "symfony/console": "^7.3", "symfony/filesystem": "^7.3", - "symfony/lock": "7.1.6", + "symfony/lock": "^7.3.2", "symfony/process": "^7.3", "symfony/string": "^7.3" }, diff --git a/config/roadrunner/.rr.yml b/config/roadrunner/.rr.yml index 328a3a60..1e96097c 100644 --- a/config/roadrunner/.rr.yml +++ b/config/roadrunner/.rr.yml @@ -14,11 +14,13 @@ http: forbid: ['.php', '.htaccess'] pool: num_workers: ${WEB_WORKER_NUM:-0} + max_jobs: 250 # Restart worker after processing this amount of requests to mitigate memory leaks jobs: timeout: 300 # 5 minutes pool: num_workers: ${TASK_WORKER_NUM:-0} + max_jobs: 250 # Restart worker after processing this amount of jobs to mitigate memory leaks consume: ['shlink'] pipelines: shlink: