2

Laravel スケジュール コマンドを使用して、メールの送信とメールの取得のためのバックグラウンド プロセスを実行しようとしています。artisan を使用してこれらのコマンドを個別に実行すると、すべて実行されますが、これらのコマンドを実行するために shcedule:run コマンドを実行しようとすると、「スケジュールされたコマンドを実行する準備ができていません」と表示されます。

答えを探してみましたが、何もうまくいきませんでした。そこで、簡単なコマンドを実行して出力を確認することで問題を修正しようとしました。以下は私のkernal.phpです

<?php
namespace App\Console;
use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
class Kernel extends ConsoleKernel
{
    /**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    protected $commands = [
         Commands\Inspire::class,
    ];
    /**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    protected function schedule(Schedule $schedule)
    {
         $schedule->command('inspire')
                  ->everyMinute();
         dd($schedule);
    }
}

schedule:run を実行すると、この出力が表示されます。

Bhanu-Slathias-MacBook-Pro:Faveo-Helpdesk-Pro-bhanu-fork vijaysebastian$ php artisan schedule:run
    Illuminate\Console\Scheduling\Schedule {#54
      #events: array:1 [
        0 => Illuminate\Console\Scheduling\Event {#1663
          +command: "'/Applications/AMPPS/php-5.6/bin/php' 'artisan' inspire"
          +expression: "* * * * * *"
          +timezone: null
          +user: null
          +environments: []
          +evenInMaintenanceMode: false
          +withoutOverlapping: false
          +runInBackground: false
          #filters: []
          #rejects: []
          +output: "/dev/null"
          #shouldAppendOutput: false
          #beforeCallbacks: []
          #afterCallbacks: []
          +description: null
        }

しかし、schedule() 関数で dd() を削除すると、出力は次のようになります。

スケジュールされたコマンドは実行する準備ができていません。

誰かが私を助けて、私が間違っていることを教えてもらえますか?

4

1 に答える 1

2

storage/frameworkそのようなファイルのフォルダをチェックしてくださいschedule-d71c52cd9f206ba2359601745a5ad13d51fa7ca6

存在する場合 - それらを削除して、schedule:runコマンドを再度実行してみてください。

于 2017-01-10T19:09:17.687 に答える