Laravel5 5之事件監聽 任務排程 佇列

2021-09-13 12:41:12 字數 2736 閱讀 3435

流程:

php artisan make:listener emailadminuserlogin --event=userlogin
//應用程式的事件***對映

class eventserviceprovider extends serviceprovider

); }

}

生成事件 & ***:php artisan event:generate

protected function schedule(schedule $schedule)

)->everyminute();

}

執行:php artisan schedule:run

生成命令:php artisan make:command sayhello

<?php 

use illuminate\console\command;

class sayhello extends command

/*** execute the console command.

** @return mixed

*/public function handle()

}

kernel.php

protected function schedule(schedule $schedule)

執行:php artisan schedule:runqueue_driver=database如:資料庫驅動

php artisan queue:table

php artisan migrate

生成任務類:

php artisan make:job sendreminderemail
class sendreminderemail implements shouldqueue

/*** execute the job.

** @return void

*/public function handle()

}

你寫好任務類後,就能通過dispatch輔助函式來分發它了。唯一需要傳遞給dispatch的引數是這個任務類的例項:

利用模型工廠生成30個使用者:

public function store(request $request)

return 'done';

}

route::get('/job', 'usercontroller@store');
資料庫表jobs生成5個佇列任務:

php artisan queue:work
tips:要注意,一旦queue:work命令開始,它將一直執行,直到你手動停止或者你關閉控制台

處理單一任務:你可以使用--once選項來指定僅對佇列中的單一任務進行處理

拓展:使用beanstalkd管理佇列,supervisor則是用來監聽佇列的任務,並在佇列存在任務的情況下自動幫我們去執行,免去手動敲php artisan的命令,保證自己的佇列可以正確執行

Laravel5 5 資料填充

php artisan make seeder momentstableseeder 進入 database seed 資料夾,進入新建的檔案,在 run 方法中新增 接著到 databaseseeder 在 run 方法中新增 this call momentstableseeder class ...

laravel5 5入口檔案分析

入口檔案 public index.php 1 載入composer的自動載入器 require dir vendor autoload.php 自動載入,不用再各種require了,更重要的是可以使用composer管理包,管理依賴,可以參考下composer的使用。註冊控制台核心,cli的請求處...

Spring之事件監聽

spring的監聽事件模型應該是觀察者模式。本人專案裡的應用在process方法按日期同步某個庫的資料,在方法最後publish乙個event事件,這個事件用於後續同步過來的資料處理。事件處理採用了spring的監聽模型.這樣可以做到process方法與event可以非同步分離執行。注 這個事件模型...