Skip to content

Commit ea83a16

Browse files
bug #53817 [Scheduler] Fix messenger receiver with no alias (HypeMC)
This PR was merged into the 6.4 branch. Discussion ---------- [Scheduler] Fix messenger receiver with no alias | Q | A | ------------- | --- | Branch? | 6.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Issues | Fix #53811 | License | MIT Commits ------- 563780acc1 [Scheduler] Fix messenger receiver with no alias
2 parents 3980e4a + eda7e95 commit ea83a16

File tree

4 files changed

+48
-2
lines changed

4 files changed

+48
-2
lines changed
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
3+
/*
4+
* This file is part of the Symfony package.
5+
*
6+
* (c) Fabien Potencier <[email protected]>
7+
*
8+
* For the full copyright and license information, please view the LICENSE
9+
* file that was distributed with this source code.
10+
*/
11+
12+
namespace Symfony\Bundle\FrameworkBundle\Tests\Fixtures\Messenger;
13+
14+
use Symfony\Component\Scheduler\Attribute\AsPeriodicTask;
15+
16+
#[AsPeriodicTask(frequency: 5, schedule: 'custom_receiver')]
17+
class DummyTaskWithCustomReceiver
18+
{
19+
public function __invoke()
20+
{
21+
}
22+
}

Tests/Functional/SchedulerTest.php

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,15 @@ public function testAutoconfiguredScheduler()
8888
$this->assertSame([['5', 6], ['7', 8]], $calls['attributesOnMethod']);
8989
}
9090

91+
public function testSchedulerWithCustomTransport()
92+
{
93+
$container = self::getContainer();
94+
$container->set('clock', new MockClock('2023-10-26T08:59:59Z'));
95+
96+
$this->assertTrue($container->get('receivers')->has('scheduler_custom_receiver'));
97+
$this->assertSame($container->get('scheduler_custom_receiver'), $container->get('receivers')->get('scheduler_custom_receiver'));
98+
}
99+
91100
protected static function createKernel(array $options = []): KernelInterface
92101
{
93102
return parent::createKernel(['test_case' => 'Scheduler'] + $options);

Tests/Functional/app/Scheduler/config.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,24 @@ services:
1313
Symfony\Bundle\FrameworkBundle\Tests\Fixtures\Messenger\DummyTask:
1414
autoconfigure: true
1515

16+
Symfony\Bundle\FrameworkBundle\Tests\Fixtures\Messenger\DummyTaskWithCustomReceiver:
17+
autoconfigure: true
18+
1619
clock:
1720
synthetic: true
1821

1922
receivers:
2023
public: true
2124
alias: 'messenger.receiver_locator'
25+
26+
scheduler_custom_receiver:
27+
public: true
28+
class: Symfony\Component\Messenger\Transport\TransportInterface
29+
factory: [ '@messenger.transport_factory', 'createTransport' ]
30+
arguments:
31+
- 'schedule://custom_receiver'
32+
- { transport_name: 'scheduler_custom_receiver' }
33+
- !service
34+
class: Symfony\Component\Messenger\Transport\Serialization\Serializer
35+
tags:
36+
- { name: 'messenger.receiver' }

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
"symfony/notifier": "^5.4|^6.0|^7.0",
5858
"symfony/process": "^5.4|^6.0|^7.0",
5959
"symfony/rate-limiter": "^5.4|^6.0|^7.0",
60-
"symfony/scheduler": "^6.4.3|^7.0.3",
60+
"symfony/scheduler": "^6.4.4|^7.0.4",
6161
"symfony/security-bundle": "^5.4|^6.0|^7.0",
6262
"symfony/semaphore": "^5.4|^6.0|^7.0",
6363
"symfony/serializer": "^6.4|^7.0",
@@ -93,7 +93,7 @@
9393
"symfony/mime": "<6.4",
9494
"symfony/property-info": "<5.4",
9595
"symfony/property-access": "<5.4",
96-
"symfony/scheduler": "<6.4.3|>=7.0.0,<7.0.3",
96+
"symfony/scheduler": "<6.4.4|>=7.0.0,<7.0.4",
9797
"symfony/serializer": "<6.4",
9898
"symfony/security-csrf": "<5.4",
9999
"symfony/security-core": "<5.4",

0 commit comments

Comments
 (0)