Skip to content

Navigation Menu

Sign in
Appearance settings

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

Sign up
Appearance settings

Commit f19601b

Browse files
committed
✅ Support laravel-queue-file driver
1 parent 873a7a5 commit f19601b

File tree

5 files changed

+69
-2
lines changed

5 files changed

+69
-2
lines changed

‎README.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Laravel Queue Driver For Delayed jobs Can be replaced
22

3-
> 暂时仅支持`Database``Redis`驱动
3+
> 暂时仅支持`database``redis`以及[`file`](https://github.com/al-one/laravel-queue-file)驱动
44
55

66
## Installing
@@ -32,6 +32,11 @@ return [
3232
'queue' => 'default',
3333
'retry_after' => 90,
3434
],
35+
'replaceable_file' => [
36+
'driver' => 'replaceable_file', // composer require al-one/laravel-queue-file
37+
//'path' => 'app/queue', // use storage_path() if not start with "/"
38+
//'queue' => 'default',
39+
],
3540
],
3641
];
3742
```

‎composer.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@
1010
],
1111
"require": {
1212
"php": ">=7.1.3",
13-
"illuminate/queue": "^5.7 || ^6.0"
13+
"illuminate/queue": "^5.7 || ^6.0",
14+
"illuminate/support": "^5.7 || ^6.0"
15+
},
16+
"suggest": {
17+
"al-one/laravel-queue-file": "Required to use replaceable_file driver."
1418
},
1519
"autoload": {
1620
"psr-4": {

‎src/Connectors/FileConnector.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
namespace Alone\LaravelQueueReplaceable\Connectors;
4+
5+
use Alone\LaravelQueueReplaceable\FileQueue;
6+
use Alone\LaravelQueueFile\FileConnector as BaseConnector;
7+
8+
class FileConnector extends BaseConnector
9+
{
10+
11+
/**
12+
* Establish a queue connection.
13+
*
14+
* @param array $config
15+
* @return \Illuminate\Contracts\Queue\Queue
16+
*/
17+
public function connect(array $config)
18+
{
19+
return new FileQueue(
20+
$config['path'] ?? null,
21+
$config['queue'] ?? 'default'
22+
);
23+
}
24+
25+
}

‎src/FileQueue.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?php
2+
3+
namespace Alone\LaravelQueueReplaceable;
4+
5+
use Alone\LaravelQueueFile\FileQueue as BaseQueue;
6+
7+
class FileQueue extends BaseQueue
8+
{
9+
10+
use QueueReplaceable;
11+
12+
/**
13+
* Push a raw payload onto the queue after a delay.
14+
*
15+
* @param \DateTimeInterface|\DateInterval|int $delay
16+
* @param string $payload
17+
* @param string|null $queue
18+
* @return mixed
19+
*/
20+
public function laterRaw($delay,$payload,$queue = null)
21+
{
22+
if($delay !== 0)
23+
{
24+
$this->popOrRelease($queue,$payload,false);
25+
}
26+
return parent::laterRaw($delay,$payload,$queue);
27+
}
28+
29+
}

‎src/ServiceProvider.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,10 @@ public function boot()
1919
{
2020
return new Connectors\RedisConnector($this->app['redis']);
2121
});
22+
$queue->addConnector('replaceable_file',function()
23+
{
24+
return new Connectors\FileConnector;
25+
});
2226
}
2327

2428
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /