Skip to content

Commit c216919

Browse files
committed
Merge branch '4.15.9+patch-a' into develop
2 parents baa7d61 + e89fdaa commit c216919

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

ProcessMaker/Providers/ProcessMakerServiceProvider.php

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ class ProcessMakerServiceProvider extends ServiceProvider
7171
// Track the landlord values for multitenancy
7272
private static $landlordValues = null;
7373

74+
// Cache tenant app containers to save memory
75+
private static $tenantAppContainers = [];
76+
7477
public function boot(): void
7578
{
7679
// Track the start time for service providers boot
@@ -265,12 +268,16 @@ private static function bootstrapTenantApp(JobProcessing|JobRetryRequested $even
265268
// Create a new tenant app instance
266269
$_SERVER['TENANT'] = $tenantId;
267270
$_ENV['TENANT'] = $tenantId;
268-
$tenantApp = require app()->bootstrapPath('app.php');
269-
$tenantApp->instance('landlordValues', self::$landlordValues);
270-
$tenantApp->make(\Illuminate\Contracts\Console\Kernel::class)->bootstrap();
271+
272+
if (!isset(self::$tenantAppContainers[$tenantId])) {
273+
$tenantApp = require app()->bootstrapPath('app.php');
274+
$tenantApp->instance('landlordValues', self::$landlordValues);
275+
$tenantApp->make(\Illuminate\Contracts\Console\Kernel::class)->bootstrap();
276+
self::$tenantAppContainers[$tenantId] = $tenantApp;
277+
}
271278

272279
// Change the job's app service container to the tenant app
273-
$event->job->getRedisQueue()->setContainer($tenantApp);
280+
$event->job->getRedisQueue()->setContainer(self::$tenantAppContainers[$tenantId]);
274281
}
275282
}
276283

config/horizon.php

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@
127127
|
128128
*/
129129

130-
'memory_limit' => 256,
130+
'memory_limit' => env('PM4_HORIZON_WORKER_MEMORY_LIMIT', 512),
131131

132132
/*
133133
|--------------------------------------------------------------------------
@@ -151,6 +151,7 @@
151151
'sleep' => intval(env('BPMN_QUEUE_INTERVAL', 3000)) * 0.001,
152152
'minProcesses' => env('PM4_HORIZON_SUPERVISOR_BPMN_MIN_PROCESSES', 1),
153153
'maxProcesses' => env('PM4_HORIZON_SUPERVISOR_BPMN_MAX_PROCESSES', 1),
154+
'memory' => env('PM4_HORIZON_WORKER_MEMORY_LIMIT', 512),
154155
],
155156
'supervisor-1' => [
156157
'connection' => 'redis',
@@ -160,6 +161,7 @@
160161
'timeout' => env('PM4_HORIZON_SUPERVISOR_1_TIMEOUT', 600),
161162
'minProcesses' => env('PM4_HORIZON_SUPERVISOR_1_MIN_PROCESSES', 1),
162163
'maxProcesses' => env('PM4_HORIZON_SUPERVISOR_1_MAX_PROCESSES', 1),
164+
'memory' => env('PM4_HORIZON_WORKER_MEMORY_LIMIT', 512),
163165
],
164166
],
165167

@@ -173,6 +175,7 @@
173175
'sleep' => intval(env('BPMN_QUEUE_INTERVAL', 3000)) * 0.001,
174176
'minProcesses' => env('PM4_HORIZON_SUPERVISOR_BPMN_MIN_PROCESSES', 1),
175177
'maxProcesses' => env('PM4_HORIZON_SUPERVISOR_BPMN_MAX_PROCESSES', 1),
178+
'memory' => env('PM4_HORIZON_WORKER_MEMORY_LIMIT', 512),
176179
],
177180
'supervisor-1' => [
178181
'connection' => 'redis',
@@ -182,6 +185,7 @@
182185
'timeout' => env('PM4_HORIZON_SUPERVISOR_1_TIMEOUT', 600),
183186
'minProcesses' => env('PM4_HORIZON_SUPERVISOR_1_MIN_PROCESSES', 1),
184187
'maxProcesses' => env('PM4_HORIZON_SUPERVISOR_1_MAX_PROCESSES', 1),
188+
'memory' => env('PM4_HORIZON_WORKER_MEMORY_LIMIT', 512),
185189
],
186190
],
187191

@@ -195,6 +199,7 @@
195199
'sleep' => intval(env('BPMN_QUEUE_INTERVAL', 3000)) * 0.001,
196200
'minProcesses' => env('PM4_HORIZON_SUPERVISOR_BPMN_MIN_PROCESSES', 1),
197201
'maxProcesses' => env('PM4_HORIZON_SUPERVISOR_BPMN_MAX_PROCESSES', 1),
202+
'memory' => env('PM4_HORIZON_WORKER_MEMORY_LIMIT', 512),
198203
],
199204
'supervisor-1' => [
200205
'connection' => 'redis',
@@ -204,6 +209,7 @@
204209
'timeout' => env('PM4_HORIZON_SUPERVISOR_1_TIMEOUT', 600),
205210
'minProcesses' => env('PM4_HORIZON_SUPERVISOR_1_MIN_PROCESSES', 1),
206211
'maxProcesses' => env('PM4_HORIZON_SUPERVISOR_1_MAX_PROCESSES', 1),
212+
'memory' => env('PM4_HORIZON_WORKER_MEMORY_LIMIT', 512),
207213
],
208214
],
209215
],

0 commit comments

Comments
 (0)