2016-11-10 6 views
1

私はartisanコマンドを実行するようにスケジュールされたタスクを持っていて、私がcisジョブに与えた時間にかかわらず毎回artisanコマンドを実行します。ここで 私はartisanコマンドを実行するたびに毎回実行されるCronジョブ

は私が

class CronJobConsole extends Command 
{ 
/** 
* The name and signature of the console command. 
* 
* @var string 
*/ 
protected $signature = 'sms:note'; 

/** 
* The console command description. 
* 
* @var string 
*/ 
protected $description = 'Command description'; 

/** 
* Create a new command instance. 
* 
* @return void 
*/ 
public function __construct() 
{ 
    parent::__construct(); 
} 

/** 
* Execute the console command. 
* 
* @return mixed 
*/ 
public function handle() 
{  
     //executing function; 
} 
     $this->info('Remainder SMS send successfully !!'); 
} 
} 

を使用しているコンソールで、私はPHPの職人のSMSを実行すると、これは私のコンソール/ kernel.phpファイル

class Kernel extends ConsoleKernel 
{ 

protected $commands = [ 
    \App\Console\Commands\Inspire::class, 
    \App\Console\Commands\FileEntryData::class, 
    \App\Console\Commands\CronJobConsole::class, 
]; 

/** 
* Define the application's command schedule. 
* 
* @param \Illuminate\Console\Scheduling\Schedule $schedule 
* @return void 
*/ 
protected function schedule(Schedule $schedule) 
{ 
    $schedule->command('sms:note')->dailyAt('19:00')->sendOutputTo('cronjob-result.php'); 
} 
} 

である:それはすべての時間を実行している注意してください。私はそれが私がgvenを持っている特定の時間に実行したい。

私を助けてください。

答えて

3

この問題は、指定したとおり、職人の通常の動作に過ぎません。

コマンドはスケジュールされているため、Laravelsの内部スケジューラ(cronjob以下を参照)によって指定された時間に実行されます。しかし、CLIでコマンドを入力して手動でコマンドを実行することもできます。

注:コマンドを手動で実行すると、は職人のスケジューラとは関係ありません。スケジューラーは、あなたが適切に見えるときにのみ、このコマンドを実行します。

だからあなたが探しているコマンドは次のとおりです。

php artisan schedule:run 

これは、指定した時間に登録されたコマンドによってループを指令するので、時間の準備ができたとき、それはあなただけのコマンドを実行します。

、それは時間だときLaravelはあなたのコマンドを実行してくださいphp artisan schedule:runコマンド毎分を実行するために(サーバー上の)cronジョブを作成するには、Laravelは残りの世話をします。

* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1 

グッドラック:ドキュメント(crontabの中に挿入)から

+0

サーバー上でcronジョブ(またはタスク)をスケジュールするための便利なリンク:https://technet.microsoft.com/en-us/library/cc748993(v=ws.11).aspxおよびhttp://www.cyberciti .biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses / – Tschallacka

関連する問題