penso che il mio blog vi aiuterà a rispondere alla tua domanda. Si prega di consultare il seguente o il collegamento: Laravel Crontab In molti progetti, è necessario utilizzare crontab (cron jobs) per eseguire alcune attività come l'invio di e-mail o eliminare il record di rifiuti in DB. Con Laravel Project, puoi farlo più facilmente.
essere abbastanza forte per lasciarsi andare e la pazienza di aspettare che ciò che si meritano essere abbastanza forte per lasciarsi andare e la pazienza di aspettare che ciò che si meritano
Creare un comando a laravel 4:
<?php
use Illuminate\Console\Command;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputArgument;
class FirstCommand extends Command {
/**
* The console command name.
*
* @var string
*/
protected $name = 'user:active';
/**
* 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 fire()
{
echo "User Actived";
}
/**
* Get the console command arguments.
*
* @return array
*/
protected function getArguments()
{
return array(
);
}
/**
* Get the console command options.
*
* @return array
*/
protected function getOptions()
{
return array(
array('example', null, InputOption::VALUE_OPTIONAL, 'An example option.', null),
);
}
}
Passaggio successivo, è necessario registrare il comando con Laravel CLI. Così facile, si apre app/avviare file/artisan.php, e aggiungere una riga come di seguito:
Artisan::add(new FirstCommand);
Si è fatto creando laravel comando. Per eseguire il test, è possibile utilizzare il comando di seguito:
$ php artisan user:active
utente attivo L'output sopra significa che si registra con successo un comando.
Infine, mettere il comando nella crontab:
crontab -e
Add riga (comando di marcia ogni 2 minuti):
*/2 * * * * php path_to_laravel_project/artisan user:active
Questo è tutto. Grazie per aver parlato di questo tempo.
Sì, ho provato a eseguire entrambi i comandi manualmente e funzionano correttamente. Sono già stati aggiunti alla matrice '$ commands'. Tutte le funzionalità sembrano funzionare come previsto - l'unico problema è che il cron non le sta attivando, semplicemente visualizzando il messaggio mostrato nella mia domanda. Grazie –
Cambia la voce di crontab in '* * * * * php/home/privati / public_html/staging/current/artisan schedule: run'. – chanafdo
L'ho modificato per funzionare ogni minuto e sembra funzionare. Sembra stupidamente inefficiente dover eseguirlo ogni minuto per realizzare qualcosa una volta al giorno - ma questo è un problema per un altro giorno. Grazie. –