搜尋

首頁  >  問答  >  主體

laravel crontab 任務新建疑問

  1. laravel 怎麼實作crontab的編寫呢, 官網教學說要寫在 /app/Console/Kenel.php 裡的shedule函數中。 但是這樣程式碼很多不美觀。

#目前想法要點:

  1. 可以複製artisian 的檔案到 app/crontab(新目錄) 中。 重新命名一下作為新的腳本。

  2. 根據artisian裡面的程式碼做修改。 。 範例如下:

#!/usr/bin/env php
<?php
require __DIR__.'/bootstrap/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';
$kernel = $app->make(Illuminate\Contracts\Console\Kernel::class);
$status = $kernel->handle(
    $input = new Symfony\Component\Console\Input\ArgvInput,
    new Symfony\Component\Console\Output\ConsoleOutput
);
$kernel->terminate($input, $status);
exit($status);

其中,我的想法應該是可以把handle裡的東西改成自己要執行的函數。 但是,查了下handle函數參數是一個$request ,接下去就不明白怎麼實現了。有會的朋友望不吝賜教哈。

大家讲道理大家讲道理2750 天前458

全部回覆(1)我來回復

  • 巴扎黑

    巴扎黑2017-05-16 16:53:05

    直接使用call方面 把你的邏輯放到匿名函數裡即可
    $schedule->call(function () {

            DB::table('recent_users')->delete();
        })->daily();

    回覆
    0
  • 取消回覆