亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PHP Laravel框架異步執(zhí)行的實(shí)現(xiàn)詳解

 更新時(shí)間:2022年07月19日 10:38:46   作者:lbb1022  
Laravel是一套簡潔、優(yōu)雅的PHP Web開發(fā)框架(PHP Web Framework)。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構(gòu)建一個(gè)完美的網(wǎng)絡(luò)APP,而且每行代碼都可以簡潔、富于表達(dá)力

Laravel 異步執(zhí)行任務(wù)

不影響當(dāng)前程序繼續(xù)執(zhí)行

描述:用戶操作時(shí) 要執(zhí)行計(jì)算量大且不影響主操作的任務(wù)時(shí),可采用異步方式執(zhí)行。

隊(duì)列的目的是將耗時(shí)的任務(wù)延時(shí)處理,比如發(fā)送郵件,從而大幅度縮短 Web 請求和響應(yīng)的時(shí)間

大致操作

  • 生成要執(zhí)行的文件 php artisan make:job UploadTask
  • .env 中的 QUEUE_CONNECTION=sync 變?yōu)?QUEUE_CONNECTION=redis
  • UploadTask文件里寫入要執(zhí)行的任務(wù)
  • 啟動(dòng)任務(wù)隊(duì)列 php artisan queue:work
  • 在觸發(fā)位置使用 dispatch(new UploadTask()); 開啟隊(duì)列

代碼粘貼

app/Jobs/UploadTask.php

<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Support\Facades\Log;
class UploadTask implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
    /**
     * Create a new job instance.
     *
     * @return void
     */
    public function __construct()
    {
        //因?yàn)橐獙?dǎo)入大文件 需要很久時(shí)間
    }
    /**
     * Execute the job.
     *
     * @return void
     */
    public function handle()
    {
        Log::info('UploadTask');
        $command = 'cd ' . base_path() . ' && php artisan ExcelFile ';
        $ret = shell_exec($command);
        Log::info('UploadTask-導(dǎo)入結(jié)束'.print_r($ret,true));
    }
}

啟動(dòng)代碼摘取

 			$form->saved(function (Form $form) {
                dispatch(new UploadTask());
                return $form->redirect('yyImport','保存成功');
            });

其他操作

因?yàn)槭莻€(gè)人的電腦 隨時(shí)會關(guān)機(jī) queue就會被停掉 所以使用了windows的開機(jī)自啟執(zhí)行vbs

runReadExecelVbs.vbs

set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c I:\yinyue\runReadExecel.bat",vbhide

runReadExecel.bat

cd I:\yinyue
php artisan queue:work

到此這篇關(guān)于PHP Laravel框架異步執(zhí)行的實(shí)現(xiàn)詳解的文章就介紹到這了,更多相關(guān)PHP Laravel異步執(zhí)行內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論