Skip to content

Commit d112023

Browse files
authored
[12.x] feat: --memory=0 should mean skip memory exceeded verification (Breaking Change) (#54393)
* [12.x] feat: MemoryExceeded 0 should mean infinite memory * [12.x] feat: MemoryExceeded 0 should mean infinite memory * [12.x] feat: MemoryExceeded 0 should mean infinite memory
1 parent afac782 commit d112023

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed

src/Illuminate/Queue/Worker.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -748,7 +748,7 @@ protected function supportsAsyncSignals()
748748
*/
749749
public function memoryExceeded($memoryLimit)
750750
{
751-
return (memory_get_usage(true) / 1024 / 1024) >= $memoryLimit;
751+
return $memoryLimit > 0 && (memory_get_usage(true) / 1024 / 1024) >= $memoryLimit;
752752
}
753753

754754
/**

tests/Queue/QueueWorkerTest.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,24 @@ public function testWorkerStopsWhenMemoryExceeded()
100100
$this->events->shouldHaveReceived('dispatch')->with(m::type(JobProcessed::class))->once();
101101
}
102102

103+
public function testWorkerMemoryExceededWhenMemoryIsZero()
104+
{
105+
$worker = new Worker(...$this->workerDependencies());
106+
$this->assertFalse($worker->memoryExceeded(0));
107+
}
108+
109+
public function testWorkerMemoryExceededWhenMemoryGreaterThanZero()
110+
{
111+
$worker = new Worker(...$this->workerDependencies());
112+
$this->assertTrue($worker->memoryExceeded(1));
113+
}
114+
115+
public function testWorkerMemoryExceededWhenMemoryIsNegative()
116+
{
117+
$worker = new Worker(...$this->workerDependencies());
118+
$this->assertFalse($worker->memoryExceeded(-1));
119+
}
120+
103121
public function testJobCanBeFiredBasedOnPriority()
104122
{
105123
$worker = $this->getWorker('default', [

0 commit comments

Comments
 (0)