Skip to content

Commit 55e3625

Browse files
authored
Merge pull request #6257 from TimWolla/memory-reset-peak-usage
Reset peak memory usage for controllers executing multiple unrelated tasks
2 parents 6caec81 + 62265ec commit 55e3625

2 files changed

Lines changed: 14 additions & 0 deletions

File tree

wcfsetup/install/files/lib/action/BackgroundQueuePerformAction.class.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,13 @@ public function execute()
2929
parent::execute();
3030

3131
for ($i = 0; $i < self::$jobsPerRun; $i++) {
32+
// Reset the memory usage for each background job, allowing to measure each individual
33+
// background job's memory usage without a memory-heavy job skewing the numbers for
34+
// the following jobs.
35+
if (\PHP_VERSION_ID >= 80200) {
36+
\memory_reset_peak_usage();
37+
}
38+
3239
if (BackgroundQueueHandler::getInstance()->performNextJob() === false) {
3340
// there were no more jobs
3441
break;

wcfsetup/install/files/lib/system/cronjob/CronjobScheduler.class.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,13 @@ public function executeCronjobs()
6060
SessionHandler::getInstance()->changeUser(new User(null), true);
6161

6262
foreach ($cronjobEditors as $cronjobEditor) {
63+
// Reset the memory usage for each cronjob, allowing to measure each individual
64+
// cronjob's memory usage without a memory-heavy cronjob skewing the numbers for
65+
// the following cronjobs.
66+
if (\PHP_VERSION_ID >= 80200) {
67+
\memory_reset_peak_usage();
68+
}
69+
6370
// mark cronjob as being executed
6471
$cronjobEditor->update([
6572
'state' => Cronjob::EXECUTING,

0 commit comments

Comments
 (0)