Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit c3324d7

Browse files
committed
minor #32427 [Messenger] Fix DateTime format on the Doctrine transport
1 parent 186cf2d commit c3324d7

File tree

2 files changed

+31
-28
lines changed

2 files changed

+31
-28
lines changed

src/Symfony/Component/Messenger/Tests/Transport/Doctrine/DoctrineIntegrationTest.php

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -81,25 +81,25 @@ public function testItRetrieveTheFirstAvailableMessage()
8181
'body' => '{"message": "Hi handled"}',
8282
'headers' => json_encode(['type' => DummyMessage::class]),
8383
'queue_name' => 'default',
84-
'created_at' => Connection::formatDateTime(new \DateTime('2019-03-15 12:00:00')),
85-
'available_at' => Connection::formatDateTime(new \DateTime('2019-03-15 12:00:00')),
86-
'delivered_at' => Connection::formatDateTime(new \DateTime()),
84+
'created_at' => '2019-03-15 12:00:00',
85+
'available_at' => '2019-03-15 12:00:00',
86+
'delivered_at' => (new \DateTime())->format('Y-m-d H:i:s'),
8787
]);
8888
// one available later
8989
$this->driverConnection->insert('messenger_messages', [
9090
'body' => '{"message": "Hi delayed"}',
9191
'headers' => json_encode(['type' => DummyMessage::class]),
9292
'queue_name' => 'default',
93-
'created_at' => Connection::formatDateTime(new \DateTime('2019-03-15 12:00:00')),
94-
'available_at' => Connection::formatDateTime(new \DateTime('2019-03-15 13:00:00')),
93+
'created_at' => '2019-03-15 12:00:00',
94+
'available_at' => '2019-03-15 13:00:00',
9595
]);
9696
// one available
9797
$this->driverConnection->insert('messenger_messages', [
9898
'body' => '{"message": "Hi available"}',
9999
'headers' => json_encode(['type' => DummyMessage::class]),
100100
'queue_name' => 'default',
101-
'created_at' => Connection::formatDateTime(new \DateTime('2019-03-15 12:00:00')),
102-
'available_at' => Connection::formatDateTime(new \DateTime('2019-03-15 12:30:00')),
101+
'created_at' => '2019-03-15 12:00:00',
102+
'available_at' => '2019-03-15 12:30:00',
103103
]);
104104

105105
$encoded = $this->connection->get();
@@ -114,33 +114,33 @@ public function testItCountMessages()
114114
'body' => '{"message": "Hi handled"}',
115115
'headers' => json_encode(['type' => DummyMessage::class]),
116116
'queue_name' => 'default',
117-
'created_at' => Connection::formatDateTime(new \DateTime('2019-03-15 12:00:00')),
118-
'available_at' => Connection::formatDateTime(new \DateTime('2019-03-15 12:00:00')),
119-
'delivered_at' => Connection::formatDateTime(new \DateTime()),
117+
'created_at' => '2019-03-15 12:00:00',
118+
'available_at' => '2019-03-15 12:00:00',
119+
'delivered_at' => (new \DateTime())->format('Y-m-d H:i:s'),
120120
]);
121121
// one available later
122122
$this->driverConnection->insert('messenger_messages', [
123123
'body' => '{"message": "Hi delayed"}',
124124
'headers' => json_encode(['type' => DummyMessage::class]),
125125
'queue_name' => 'default',
126-
'created_at' => Connection::formatDateTime(new \DateTime('2019-03-15 12:00:00')),
127-
'available_at' => Connection::formatDateTime((new \DateTime())->modify('+1 minute')),
126+
'created_at' => '2019-03-15 12:00:00',
127+
'available_at' => ((new \DateTime())->modify('+1 minute'))->format('Y-m-d H:i:s'),
128128
]);
129129
// one available
130130
$this->driverConnection->insert('messenger_messages', [
131131
'body' => '{"message": "Hi available"}',
132132
'headers' => json_encode(['type' => DummyMessage::class]),
133133
'queue_name' => 'default',
134-
'created_at' => Connection::formatDateTime(new \DateTime('2019-03-15 12:00:00')),
135-
'available_at' => Connection::formatDateTime(new \DateTime('2019-03-15 12:30:00')),
134+
'created_at' => '2019-03-15 12:00:00',
135+
'available_at' => '2019-03-15 12:30:00',
136136
]);
137137
// another available
138138
$this->driverConnection->insert('messenger_messages', [
139139
'body' => '{"message": "Hi available"}',
140140
'headers' => json_encode(['type' => DummyMessage::class]),
141141
'queue_name' => 'default',
142-
'created_at' => Connection::formatDateTime(new \DateTime('2019-03-15 12:00:00')),
143-
'available_at' => Connection::formatDateTime(new \DateTime('2019-03-15 12:30:00')),
142+
'created_at' => '2019-03-15 12:00:00',
143+
'available_at' => '2019-03-15 12:30:00',
144144
]);
145145

146146
$this->assertSame(2, $this->connection->getMessageCount());
@@ -154,16 +154,16 @@ public function testItRetrieveTheMessageThatIsOlderThanRedeliverTimeout()
154154
'body' => '{"message": "Hi requeued"}',
155155
'headers' => json_encode(['type' => DummyMessage::class]),
156156
'queue_name' => 'default',
157-
'created_at' => Connection::formatDateTime(new \DateTime('2019-03-15 12:00:00')),
158-
'available_at' => Connection::formatDateTime(new \DateTime('2019-03-15 12:00:00')),
159-
'delivered_at' => Connection::formatDateTime($twoHoursAgo),
157+
'created_at' => '2019-03-15 12:00:00',
158+
'available_at' => '2019-03-15 12:00:00',
159+
'delivered_at' => $twoHoursAgo->format('Y-m-d H:i:s'),
160160
]);
161161
$this->driverConnection->insert('messenger_messages', [
162162
'body' => '{"message": "Hi available"}',
163163
'headers' => json_encode(['type' => DummyMessage::class]),
164164
'queue_name' => 'default',
165-
'created_at' => Connection::formatDateTime(new \DateTime('2019-03-15 12:00:00')),
166-
'available_at' => Connection::formatDateTime(new \DateTime('2019-03-15 12:30:00')),
165+
'created_at' => '2019-03-15 12:00:00',
166+
'available_at' => '2019-03-15 12:30:00',
167167
]);
168168

169169
$next = $this->connection->get();

src/Symfony/Component/Messenger/Transport/Doctrine/Connection.php

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,8 @@ public function send(string $body, array $headers, int $delay = 0): string
122122
':body' => $body,
123123
':headers' => json_encode($headers),
124124
':queue_name' => $this->configuration['queue_name'],
125-
':created_at' => self::formatDateTime($now),
126-
':available_at' => self::formatDateTime($availableAt),
125+
':created_at' => $this->formatDateTime($now),
126+
':available_at' => $this->formatDateTime($availableAt),
127127
]);
128128

129129
return $this->driverConnection->lastInsertId();
@@ -161,7 +161,7 @@ public function get(): ?array
161161
$now = new \DateTime();
162162
$this->executeQuery($queryBuilder->getSQL(), [
163163
':id' => $doctrineEnvelope['id'],
164-
':delivered_at' => self::formatDateTime($now),
164+
':delivered_at' => $this->formatDateTime($now),
165165
]);
166166

167167
$this->driverConnection->commit();
@@ -268,9 +268,9 @@ private function createAvailableMessagesQueryBuilder(): QueryBuilder
268268
->andWhere('m.available_at <= :now')
269269
->andWhere('m.queue_name = :queue_name')
270270
->setParameters([
271-
':now' => self::formatDateTime($now),
271+
':now' => $this->formatDateTime($now),
272272
':queue_name' => $this->configuration['queue_name'],
273-
':redeliver_limit' => self::formatDateTime($redeliverLimit),
273+
':redeliver_limit' => $this->formatDateTime($redeliverLimit),
274274
]);
275275
}
276276

@@ -329,9 +329,12 @@ private function getSchema(): Schema
329329
return $schema;
330330
}
331331

332-
public static function formatDateTime(\DateTimeInterface $dateTime)
332+
/**
333+
* @internal
334+
*/
335+
private function formatDateTime(\DateTimeInterface $dateTime): string
333336
{
334-
return $dateTime->format('Y-m-d\TH:i:s');
337+
return $dateTime->format($this->driverConnection->getDatabasePlatform()->getDateTimeFormatString());
335338
}
336339

337340
private function decodeEnvelopeHeaders(array $doctrineEnvelope): array

0 commit comments

Comments
 (0)