Skip to content

Commit 32966f9

Browse files
authored
refactor(async-queue): remove JobMessage backward compatibility code (#7609)
1 parent 65892e2 commit 32966f9

File tree

4 files changed

+7
-84
lines changed

4 files changed

+7
-84
lines changed

src/JobMessage.php

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -31,22 +31,13 @@ public function __serialize(): array
3131
}
3232

3333
return [
34-
$this->job, // Compatible with old version, will be removed at v3.2
35-
$this->attempts, // Compatible with old version, will be removed at v3.2
3634
'job' => $this->job,
3735
'attempts' => $this->attempts,
3836
];
3937
}
4038

4139
public function __unserialize(array $data): void
4240
{
43-
if (array_is_list($data)) { // Compatible with old version, will be removed at v3.2
44-
$data = [
45-
'job' => $data[0],
46-
'attempts' => $data[1],
47-
];
48-
}
49-
5041
$job = $data['job'];
5142

5243
if ($job instanceof UnCompressInterface) {

tests/JobMessageTest.php

Lines changed: 6 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
use Hyperf\AsyncQueue\JobMessage;
1717
use Hyperf\AsyncQueue\MessageInterface;
1818
use HyperfTest\AsyncQueue\Stub\DemoJob;
19-
use HyperfTest\AsyncQueue\Stub\OldJobMessage;
2019
use PHPUnit\Framework\Attributes\CoversNothing;
2120
use PHPUnit\Framework\TestCase;
2221

@@ -36,19 +35,18 @@ public function testJobMessageSerialize()
3635

3736
$serialized = $message->__serialize();
3837

39-
$this->assertEquals($serialized[0], $serialized['job']);
40-
$this->assertEquals($serialized[1], $serialized['attempts']);
4138
$this->assertArrayHasKey('job', $serialized);
4239
$this->assertArrayHasKey('attempts', $serialized);
40+
$this->assertInstanceOf(JobInterface::class, $serialized['job']);
41+
$this->assertSame(0, $serialized['attempts']);
4342

4443
$this->assertInstanceOf(MessageInterface::class, $message);
4544
$this->assertInstanceOf(JobInterface::class, $message->job());
46-
$this->assertInstanceOf(JobInterface::class, $message->job());
4745
$this->assertInstanceOf(DemoJob::class, $message->job());
4846
$this->assertSame($id, $message->job()->id);
4947
}
5048

51-
public function testJobMessageSerializeCompatible()
49+
public function testJobMessageUnserialize()
5250
{
5351
$id = rand(0, 9999);
5452
$message = new JobMessage(
@@ -57,61 +55,26 @@ public function testJobMessageSerializeCompatible()
5755

5856
$serialized = $message->__serialize();
5957

60-
$this->assertEquals($serialized[0], $serialized['job']);
61-
$this->assertEquals($serialized[1], $serialized['attempts']);
58+
$this->assertArrayHasKey('job', $serialized);
59+
$this->assertArrayHasKey('attempts', $serialized);
6260

6361
$message = unserialize(serialize($message));
6462
$this->assertInstanceOf(MessageInterface::class, $message);
6563
$this->assertInstanceOf(JobInterface::class, $message->job());
66-
$this->assertInstanceOf(JobInterface::class, $message->job());
6764
$this->assertInstanceOf(DemoJob::class, $message->job());
6865
$this->assertSame($id, $message->job()->id);
6966
$this->assertSame(0, $message->getAttempts());
7067

7168
$serialized = [
72-
'job' => $serialized['job'] ?? $serialized[0],
69+
'job' => $serialized['job'],
7370
'attempts' => 3,
7471
];
7572
$message->__unserialize($serialized);
7673

7774
$this->assertInstanceOf(MessageInterface::class, $message);
7875
$this->assertInstanceOf(JobInterface::class, $message->job());
79-
$this->assertInstanceOf(JobInterface::class, $message->job());
8076
$this->assertInstanceOf(DemoJob::class, $message->job());
8177
$this->assertSame($id, $message->job()->id);
8278
$this->assertSame(3, $message->getAttempts());
83-
84-
$serialized = [new DemoJob($id), 5];
85-
$message->__unserialize($serialized);
86-
87-
$this->assertInstanceOf(MessageInterface::class, $message);
88-
$this->assertInstanceOf(JobInterface::class, $message->job());
89-
$this->assertInstanceOf(JobInterface::class, $message->job());
90-
$this->assertInstanceOf(DemoJob::class, $message->job());
91-
$this->assertSame($id, $message->job()->id);
92-
$this->assertSame(5, $message->getAttempts());
93-
}
94-
95-
public function testUnserializeAsOldJobMessage()
96-
{
97-
$id = rand(0, 9999);
98-
$message = new JobMessage(
99-
new DemoJob($id)
100-
);
101-
102-
$serialized = serialize($message);
103-
$serialized = str_replace(
104-
sprintf('O:%d:"%s', strlen(JobMessage::class), JobMessage::class),
105-
sprintf('O:%d:"%s', strlen(OldJobMessage::class), OldJobMessage::class),
106-
$serialized
107-
);
108-
$message = unserialize($serialized);
109-
110-
$this->assertInstanceOf(MessageInterface::class, $message);
111-
$this->assertInstanceOf(JobInterface::class, $message->job());
112-
$this->assertInstanceOf(JobInterface::class, $message->job());
113-
$this->assertInstanceOf(DemoJob::class, $message->job());
114-
$this->assertSame($id, $message->job()->id);
115-
$this->assertSame(0, $message->getAttempts());
11679
}
11780
}

tests/RedisDriverTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ public function testAsyncQueueJobGenerate()
116116
$driver->push(new DemoJob($id, $model));
117117

118118
$serialized = (string) Context::get('test.async-queue.lpush.value');
119-
$this->assertSame(264, strlen($serialized));
119+
$this->assertSame(248, strlen($serialized));
120120

121121
/** @var JobMessage $class */
122122
$class = $packer->unpack($serialized);

tests/Stub/OldJobMessage.php

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)