1
0
mirror of https://github.com/flarum/core.git synced 2025-08-04 23:47:32 +02:00

[1.x] [extensibility] feat: allow classes that extends AbstractJob to be placed on a specified queue (#4026)

* feat: allow classes that extends AbstractJob to be placed on a specific queue

* Apply fixes from StyleCI

* php 7.3 compat

* Apply fixes from StyleCI

* change  to  to avoid conflicts with extensions that already do this

* chore: add docblock explaining that this solution only works for Redis queues

* Apply fixes from StyleCI

* chore: update docblock

* Apply fixes from StyleCI

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
This commit is contained in:
IanM
2024-09-29 15:35:29 +01:00
committed by GitHub
parent c9bd7dab1e
commit 2c4d64cd20
8 changed files with 30 additions and 0 deletions

View File

@@ -47,6 +47,8 @@ class SendMentionsNotificationsJob extends AbstractJob
public function __construct(CommentPost $post, array $userMentions, array $postMentions, array $groupMentions)
{
parent::__construct();
$this->post = $post;
$this->userMentions = $userMentions;
$this->postMentions = $postMentions;

View File

@@ -32,6 +32,8 @@ class ComposerCommandJob extends AbstractJob implements ShouldBeUnique
public function __construct(AbstractActionCommand $command, string $phpVersion)
{
parent::__construct();
$this->command = $command;
$this->phpVersion = $phpVersion;
}

View File

@@ -28,6 +28,8 @@ class SendPusherNotificationsJob extends AbstractJob
public function __construct(BlueprintInterface $blueprint, array $recipients)
{
parent::__construct();
$this->blueprint = $blueprint;
$this->recipients = $recipients;
}

View File

@@ -21,6 +21,8 @@ class SendRawEmailJob extends AbstractJob
public function __construct(string $email, string $subject, string $body)
{
parent::__construct();
$this->email = $email;
$this->subject = $subject;
$this->body = $body;

View File

@@ -28,6 +28,8 @@ class SendEmailNotificationJob extends AbstractJob
public function __construct(MailableInterface $blueprint, User $recipient)
{
parent::__construct();
$this->blueprint = $blueprint;
$this->recipient = $recipient;
}

View File

@@ -28,6 +28,8 @@ class SendNotificationsJob extends AbstractJob
public function __construct(BlueprintInterface $blueprint, array $recipients = [])
{
parent::__construct();
$this->blueprint = $blueprint;
$this->recipients = $recipients;
}

View File

@@ -19,4 +19,20 @@ class AbstractJob implements ShouldQueue
use InteractsWithQueue;
use Queueable;
use SerializesModels;
/**
* The name of the queue on which the job should be placed.
*
* This is only effective on jobs that extend `\Flarum\Queue\AbstractJob` and dispatched via Redis.
*
* @var string|null
*/
public static $sendOnQueue = null;
public function __construct()
{
if (static::$sendOnQueue) {
$this->onQueue(static::$sendOnQueue);
}
}
}

View File

@@ -27,6 +27,8 @@ class RequestPasswordResetJob extends AbstractJob
public function __construct(string $email)
{
parent::__construct();
$this->email = $email;
}