摘要:是在類中的方法去定義所有的調(diào)度任務(wù)。產(chǎn)品作為一個(gè)電商類產(chǎn)品,本身業(yè)務(wù)需求非常龐大和復(fù)雜,全部定義在方法中會(huì)非常臃腫。而且產(chǎn)品的每個(gè)模塊都是一個(gè),具有高度的復(fù)用性。歡迎大家和提交討論交流
Laravel 是在 AppConsoleKernel 類中的 schedule 方法去定義所有的調(diào)度任務(wù)。
iBrand 產(chǎn)品作為一個(gè)電商類產(chǎn)品,本身業(yè)務(wù)需求非常龐大和復(fù)雜,全部定義在 schedule 方法中會(huì)非常臃腫。而且 iBrand 產(chǎn)品的每個(gè)模塊都是一個(gè) Package,具有高度的復(fù)用性。
所以我們開發(fā)了此包,用來把各個(gè)模塊的調(diào)度任務(wù)放在自己的包里,而不是全部放在 AppConsoleKernel 類的 schedule 方法中。
github: ibrandcc/laravel-scheduling
Installation$ composer require ibrand/laravel-scheduling -vvv
If your Laravel version below 5.5, you need add the follow line to the section providers of config/app.php:
iBrandSchedulingServiceProvider::class,Usage extend Scheduling abstract class
use iBrandSchedulingScheduling; class YourSchedule extends Scheduling { public function schedule(){ //Your schedule logic. $this->schedule->call(function () { })->daily(); } }register
Add follow line to you ServiceProvider register method.
$this->app->make(iBrandSchedulingScheduleList::class)->add(YourSchedule::class);
歡迎大家 star 和提交 issue :)討論交流
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/28125.html
摘要:調(diào)度任務(wù)本指南將指導(dǎo)你完成使用調(diào)度任務(wù)的步驟。創(chuàng)建調(diào)度任務(wù)現(xiàn)在你已經(jīng)設(shè)置了項(xiàng)目,可以創(chuàng)建調(diào)度任務(wù)。還有其他選項(xiàng),例如,它指定從完成任務(wù)計(jì)算的調(diào)用之間的間隔,你還可以使用表達(dá)式進(jìn)行更復(fù)雜的任務(wù)調(diào)度。 調(diào)度任務(wù) 本指南將指導(dǎo)你完成使用Spring調(diào)度任務(wù)的步驟。 將要構(gòu)建什么 你將構(gòu)建一個(gè)應(yīng)用程序,使用Spring的@Scheduled注解每五秒打印一次當(dāng)前時(shí)間。 需要什么 大約15分鐘...
摘要:最近遇到一個(gè)需求,就是當(dāng)服務(wù)器接到請(qǐng)求并不需要任務(wù)執(zhí)行完成才返回結(jié)果,可以立即返回結(jié)果,讓任務(wù)異步的去執(zhí)行。指定從上面執(zhí)行的日志可以猜測(cè)到默認(rèn)使用來異步執(zhí)行任務(wù)的,可以搜索到這個(gè)類。 最近遇到一個(gè)需求,就是當(dāng)服務(wù)器接到請(qǐng)求并不需要任務(wù)執(zhí)行完成才返回結(jié)果,可以立即返回結(jié)果,讓任務(wù)異步的去執(zhí)行。開始考慮是直接啟一個(gè)新的線程去執(zhí)行任務(wù)或者把任務(wù)提交到一個(gè)線程池去執(zhí)行,這兩種方法都是可以的。但...
摘要:對(duì)多線程的支持詳解這兩天看阿里的開發(fā)手冊(cè),到多線程的時(shí)候說永遠(yuǎn)不要用這種方式來使用多線程。在使用線程池的大多數(shù)情況下都是異步非阻塞的。二配置類配置類代碼如下下午解讀利用來開啟對(duì)于異步任務(wù)的支持配置類實(shí)現(xiàn)接口,返回一個(gè)線程池對(duì)象。 Springboot對(duì)多線程的支持詳解 這兩天看阿里的JAVA開發(fā)手冊(cè),到多線程的時(shí)候說永遠(yuǎn)不要用 new Thread()這種方式來使用多線程。確實(shí)是這樣的...
摘要:表示該工作應(yīng)該在每個(gè)月日上午運(yùn)行這里還有一些其他的示例表示工作應(yīng)該在星期三每分鐘運(yùn)行一次。表示該工作應(yīng)該每天在凌晨點(diǎn)和點(diǎn)運(yùn)行兩次。方法調(diào)用的實(shí)例作為唯一的參數(shù),這是用于記錄您提供的作業(yè)的計(jì)劃任務(wù)管理器,并決定每次守護(hù)進(jìn)程應(yīng)該運(yùn)行什么。 譯文GitHub https://github.com/yuansir/diving-laravel-zh 原文鏈接 https://divinglar...
摘要:本質(zhì)是因?yàn)橐馔馇闆r導(dǎo)致上一個(gè)正在執(zhí)行中的任務(wù)沒有正常結(jié)束,更它的標(biāo)記文件卻還在,使得框架的命令任務(wù)該任務(wù)還在執(zhí)行中,所以為了,就跳過執(zhí)行了,在這種情況下,手動(dòng)將標(biāo)記刪掉就能恢復(fù)正常。 rm -rf storage/framework/cache/* 本質(zhì)是因?yàn)橐馔馇闆r導(dǎo)致上一個(gè)正在執(zhí)行中的任務(wù)沒有正常結(jié)束,更它的mutex標(biāo)記文件卻還在,使得Laravel框架的php artisan ...
閱讀 1276·2021-10-18 13:32
閱讀 2355·2021-09-24 09:47
閱讀 1336·2021-09-23 11:22
閱讀 2473·2019-08-30 14:06
閱讀 579·2019-08-30 12:48
閱讀 2010·2019-08-30 11:03
閱讀 546·2019-08-29 17:09
閱讀 2473·2019-08-29 14:10