Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit da79946

Browse filesBrowse files
[Messenger] subtract handling time from sleep time in worker
1 parent 732acf5 commit da79946
Copy full SHA for da79946

File tree

1 file changed

+5
-2
lines changed
Filter options

1 file changed

+5
-2
lines changed

‎src/Symfony/Component/Messenger/Worker.php

Copy file name to clipboardExpand all lines: src/Symfony/Component/Messenger/Worker.php
+5-2Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ public function run(array $options = []): void
8787

8888
while (false === $this->shouldStop) {
8989
$envelopeHandled = false;
90+
$envelopeHandledStart = microtime(true);
9091
foreach ($this->receivers as $transportName => $receiver) {
9192
if ($queueNames) {
9293
$envelopes = $receiver->getFromQueues($queueNames);
@@ -113,10 +114,12 @@ public function run(array $options = []): void
113114
}
114115
}
115116

116-
if (false === $envelopeHandled) {
117+
if (!$envelopeHandled) {
117118
$this->dispatchEvent(new WorkerRunningEvent($this, true));
118119

119-
usleep($options['sleep']);
120+
if (0 < $sleep = (int) ($options['sleep'] - 1e6 * (microtime(true) - $envelopeHandledStart))) {
121+
usleep($sleep);
122+
}
120123
}
121124
}
122125

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.