2017-06-12 10 views
0

いくつかの統計情報を含むPDFを生成するコマンドをセットアップしました。このコマンドは、pdfを添付ファイルとして電子メールに送信します。このコマンドは、自分のコンソールで手動で実行したときに効果的です。ルーメンタスクのスケジューリングeveryMinuteは機能していませんか?

php artisan send:report 

このコマンドは月末に実行されるように設定しようとしています。テストするには、スケジューラをeveryMinuteに設定しましたが、php artisan schedule:runを実行すると、1分ごとに実行するのではなく、1回だけ電子メールが送信されます。

ここで何か問題がありますか?

<?php 

namespace App\Console; 

use App\Console\Commands\SendReport; 
use Illuminate\Console\Scheduling\Schedule; 
use Laravel\Lumen\Console\Kernel as ConsoleKernel; 

class Kernel extends ConsoleKernel 
{ 
    /** 
    * The Artisan commands provided by your application. 
    * 
    * @var array 
    */ 
    protected $commands = [ 
     SendReport::class, 
    ]; 

    /** 
    * Define the application's command schedule. 
    * 
    * @param \Illuminate\Console\Scheduling\Schedule $schedule 
    * @return void 
    */ 
    protected function schedule(Schedule $schedule) 
    { 
     $schedule->command('report:send')->everyMinute(); 
    } 
} 

ルーメン

マイKernel.phpファイルには、私は何かが足りないのですか?

ご協力いただきありがとうございます。

事前に感謝します。

+0

コマンドアクションコードも追加できますか? –

+0

@Sagarコマンドは機能し、私はそれをmanualy php artisan report:sendを実行してテストしました。しかし、私は問題が私はスケジュールを実行するためにcronjobを設定していないと思う –

+0

@フランクルカスはい、それは問題です。 – sisve

答えて

1

これは、サーバーのcronのエントリにあることを確認してください。ここをクリックしてhttps://laravel.com/docs/5.4/schedulingを表示し、スケジューラの起動までスクロールします。

0

スケジュールを実行するcronジョブを追加する必要があります。実行コマンド:

this issueで答えを見つけました。ドキュメントに記載され

2

私はあなたがのcrontabにエントリを設定する必要があると思う

* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1 
関連する問題