第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Laravel Excel 排隊(duì)導(dǎo)出不會(huì)創(chuàng)造工作

Laravel Excel 排隊(duì)導(dǎo)出不會(huì)創(chuàng)造工作

PHP
小唯快跑啊 2022-06-17 16:40:55
我正在嘗試讓排隊(duì)的導(dǎo)出與 Laravel Excel 包一起使用,但無法弄清楚我缺少什么。我遵循了有關(guān)如何排隊(duì)導(dǎo)出的文檔,但是當(dāng)我對(duì)其進(jìn)行測(cè)試時(shí),導(dǎo)出在第一批導(dǎo)出后完成,因此在前 1000 行之后。我將我的應(yīng)用程序設(shè)置為使用.env 中的數(shù)據(jù)庫驅(qū)動(dòng)程序并生成/運(yùn)行遷移。我正在使用 Laravel 5.8、Laravel Excel 3.1、PHP 7.2、Postgresql 10。這是我目前所擁有的基本版本:控制器public function export(Request $request){    $name = 'test.csv';    (new ExcelExport($client, $year))->queue('public/exports/' . $name)->chain([        new NotifyUserOfExport($request->user(), $name),    ]);    return back()->with('message', 'This export will take some time. You will receive an email when it is ready to download.');}出口類class ExcelExport implements FromQuery, WithHeadings, WithMapping, WithStrictNullComparison{    use Exportable;    public function __construct($client, $year)    {        $this->year = $year;        $this->client = $client;    }    public function query()    {        $query = $this->getQuery();        return $query;    }    public function headings(): array    {        //...    }    public function map($row): array    {        //....    }    private function getQuery()    {        return \DB::table('mytable')                  ->where('year', $this->year)                  ->where('client', $this->client)                  ->orderBy('created_at')                  ->groupBy('column');    }我的隊(duì)列.phpreturn [    'default' => env('QUEUE_CONNECTION', 'sync'),    'connections' => [        'sync' => [            'driver' => 'sync',        ],        'database' => [            'driver' => 'database',            'table' => 'jobs', // also tried 'myschema.jobs'            'queue' => 'default',            'retry_after' => 90,        ],        //.....    ],我的 .envQUEUE_CONNECTION=database我認(rèn)為沒有任何其他相關(guān)的代碼。我收到了應(yīng)該在所有作業(yè)完成后發(fā)送的通知,但就像我之前提到的,它是在第一批完成后發(fā)送的。數(shù)據(jù)庫中的作業(yè)表中也沒有插入作業(yè),因此存在問題。我只是無法弄清楚我錯(cuò)過了什么。我應(yīng)該提到我不想使用Implicit Export queuing,因?yàn)橥瑯拥膶?dǎo)出用于應(yīng)用程序的另一部分,它只需要導(dǎo)出幾行,所以我不需要排隊(duì)。任何幫助,將不勝感激。
查看完整描述

2 回答

?
幕布斯7119047

TA貢獻(xiàn)1794條經(jīng)驗(yàn) 獲得超8個(gè)贊

事實(shí)證明,因?yàn)槲业牟樵冇幸粋€(gè) groupBy 子句,我需要在導(dǎo)出類上實(shí)現(xiàn)自定義查詢大小。我不明白為什么這是一個(gè)問題,但是在我添加之后,作業(yè)被添加到隊(duì)列中并且處理得很好。所以我補(bǔ)充說:


    use Maatwebsite\Excel\Concerns\WithCustomQuerySize;


    class ExcelExport implements ...., WithCustomQuerySize


    //......


    public function querySize(): int

    {

        $query = //......


        $size = $query->count();

        return $size;

    }

我希望這對(duì)某人有所幫助,這樣他們就不必經(jīng)歷我所做的頭痛。


查看完整回答
反對(duì) 回復(fù) 2022-06-17
?
牛魔王的故事

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊

排隊(duì)的可導(dǎo)出文件以塊的形式處理;每個(gè)塊都是由 QueuedWriter 推送到隊(duì)列的作業(yè)。對(duì)于實(shí)現(xiàn) FromQuery 問題的可導(dǎo)出文件,作業(yè)數(shù)是通過將 $query->count() 除以塊大小來計(jì)算的。

#何時(shí)使用

根據(jù) query() 方法的實(shí)現(xiàn)(例如,當(dāng)使用 groupBy 子句時(shí)),前面提到的計(jì)算可能不正確。

如果是這種情況,您應(yīng)該使用 WithCustomQuerySize 關(guān)注點(diǎn)來提供查詢大小的自定義計(jì)算。

在此處閱讀更多信息https://docs.laravel-excel.com/3.1/exports/queued.html#when-to-use


查看完整回答
反對(duì) 回復(fù) 2022-06-17
  • 2 回答
  • 0 關(guān)注
  • 224 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)