亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Laravel 上同步安排隊列作業

如何在 Laravel 上同步安排隊列作業

PHP
莫回無 2023-05-12 16:03:23
幾乎就是標題所說的,當我寫這個的時候kernel.php$schedule->job(new Heartbeat)->everyFiveMinutes();它異步運行代碼,無論如何我可以dispatchNow()按計劃進行嗎?我正在使用 Laravel 7
查看完整描述

1 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

您可以使用onConnection方法即時設置驅動程序。


$schedule->job((new Heartbeat)->onConnection('sync'))->everyFiveMinutes();

另一種選擇可能是在調用該job方法時,設置connection.


/**

 * Add a new job callback event to the schedule.

 *

 * @param  object|string  $job

 * @param  string|null  $queue

 * @param  string|null  $connection

 * @return \Illuminate\Console\Scheduling\CallbackEvent

 */

public function job($job, $queue = null, $connection = null)

{

    return $this->call(function () use ($job, $queue, $connection) {

        $job = is_string($job) ? Container::getInstance()->make($job) : $job;


        if ($job instanceof ShouldQueue) {

            $this->dispatchToQueue($job, $queue ?? $job->queue, $connection ?? $job->connection);

        } else {

            $this->dispatchNow($job);

        }

    })->name(is_string($job) ? $job : get_class($job));

}


查看完整回答
反對 回復 2023-05-12
  • 1 回答
  • 0 關注
  • 139 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號