Skip to content

Commit 72885e8

Browse files
authored
Job status enumeration (#235)
1 parent 5a13e3e commit 72885e8

21 files changed

+48
-179
lines changed

src/Adapter/AdapterInterface.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
use BackedEnum;
88
use InvalidArgumentException;
9-
use Yiisoft\Queue\Enum\JobStatus;
9+
use Yiisoft\Queue\JobStatus;
1010
use Yiisoft\Queue\Message\MessageInterface;
1111

1212
interface AdapterInterface
@@ -24,8 +24,6 @@ public function runExisting(callable $handlerCallback): void;
2424
* @param int|string $id ID of a job message.
2525
*
2626
* @throws InvalidArgumentException When there is no such id in the adapter.
27-
*
28-
* @return JobStatus
2927
*/
3028
public function status(string|int $id): JobStatus;
3129

src/Adapter/SynchronousAdapter.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
use BackedEnum;
88
use InvalidArgumentException;
99
use Yiisoft\Queue\ChannelNormalizer;
10-
use Yiisoft\Queue\Enum\JobStatus;
10+
use Yiisoft\Queue\JobStatus;
1111
use Yiisoft\Queue\Message\MessageInterface;
1212
use Yiisoft\Queue\QueueInterface;
1313
use Yiisoft\Queue\Worker\WorkerInterface;
@@ -55,11 +55,11 @@ public function status(string|int $id): JobStatus
5555
}
5656

5757
if ($id < $this->current) {
58-
return JobStatus::done();
58+
return JobStatus::DONE;
5959
}
6060

6161
if (isset($this->messages[$id])) {
62-
return JobStatus::waiting();
62+
return JobStatus::WAITING;
6363
}
6464

6565
throw new InvalidArgumentException('There is no message with the given ID.');

src/Debug/QueueCollector.php

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44

55
namespace Yiisoft\Queue\Debug;
66

7+
use Yiisoft\Queue\JobStatus;
78
use Yiisoft\Yii\Debug\Collector\CollectorTrait;
89
use Yiisoft\Yii\Debug\Collector\SummaryCollectorInterface;
9-
use Yiisoft\Queue\Enum\JobStatus;
1010
use Yiisoft\Queue\Message\MessageInterface;
1111
use Yiisoft\Queue\Middleware\Push\MiddlewarePushInterface;
1212
use Yiisoft\Queue\QueueInterface;
@@ -38,15 +38,9 @@ public function collectStatus(string $id, JobStatus $status): void
3838
return;
3939
}
4040

41-
$statusText = match (true) {
42-
$status->isDone() => 'done',
43-
$status->isReserved() => 'reserved',
44-
$status->isWaiting() => 'waiting',
45-
default => 'unknown'
46-
};
4741
$this->statuses[] = [
4842
'id' => $id,
49-
'status' => $statusText,
43+
'status' => $status->key(),
5044
];
5145
}
5246

src/Debug/QueueDecorator.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace Yiisoft\Queue\Debug;
66

77
use Yiisoft\Queue\Adapter\AdapterInterface;
8-
use Yiisoft\Queue\Enum\JobStatus;
8+
use Yiisoft\Queue\JobStatus;
99
use Yiisoft\Queue\Message\MessageInterface;
1010
use Yiisoft\Queue\Middleware\Push\MiddlewarePushInterface;
1111
use Yiisoft\Queue\QueueInterface;

src/Enum/JobStatus.php

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

src/JobStatus.php

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace Yiisoft\Queue;
6+
7+
enum JobStatus: int
8+
{
9+
case WAITING = 1;
10+
case RESERVED = 2;
11+
case DONE = 3;
12+
13+
public function key(): string
14+
{
15+
return match ($this) {
16+
self::WAITING => 'waiting',
17+
self::RESERVED => 'reserved',
18+
self::DONE => 'done',
19+
};
20+
}
21+
}

src/Queue.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
use Psr\Log\LoggerInterface;
88
use Yiisoft\Queue\Adapter\AdapterInterface;
99
use Yiisoft\Queue\Cli\LoopInterface;
10-
use Yiisoft\Queue\Enum\JobStatus;
1110
use Yiisoft\Queue\Exception\AdapterConfiguration\AdapterNotConfiguredException;
1211
use Yiisoft\Queue\Message\MessageInterface;
1312
use Yiisoft\Queue\Middleware\Push\AdapterPushHandler;

src/QueueInterface.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
use InvalidArgumentException;
88
use Yiisoft\Queue\Adapter\AdapterInterface;
9-
use Yiisoft\Queue\Enum\JobStatus;
109
use Yiisoft\Queue\Message\MessageInterface;
1110
use Yiisoft\Queue\Middleware\Push\MiddlewarePushInterface;
1211

stubs/StubAdapter.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
use BackedEnum;
88
use Yiisoft\Queue\Adapter\AdapterInterface;
99
use Yiisoft\Queue\ChannelNormalizer;
10-
use Yiisoft\Queue\Enum\JobStatus;
10+
use Yiisoft\Queue\JobStatus;
1111
use Yiisoft\Queue\Message\MessageInterface;
1212
use Yiisoft\Queue\QueueInterface;
1313

@@ -30,7 +30,7 @@ public function runExisting(callable $handlerCallback): void
3030

3131
public function status(int|string $id): JobStatus
3232
{
33-
return JobStatus::done();
33+
return JobStatus::DONE;
3434
}
3535

3636
public function push(MessageInterface $message): MessageInterface

stubs/StubQueue.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
namespace Yiisoft\Queue\Stubs;
66

77
use Yiisoft\Queue\Adapter\AdapterInterface;
8-
use Yiisoft\Queue\Enum\JobStatus;
8+
use Yiisoft\Queue\JobStatus;
99
use Yiisoft\Queue\Message\MessageInterface;
1010
use Yiisoft\Queue\Middleware\Push\MiddlewarePushInterface;
1111
use Yiisoft\Queue\QueueInterface;
@@ -37,7 +37,7 @@ public function listen(): void
3737

3838
public function status(int|string $id): JobStatus
3939
{
40-
return JobStatus::done();
40+
return JobStatus::DONE;
4141
}
4242

4343
public function getAdapter(): ?AdapterInterface

0 commit comments

Comments
 (0)