Laravel 5.6 – Servidor Vesta – Comandos CRON

Posicionarnos en la carpeta del proyecto y ejecutar:

sudo php7.3 artisan make:command nombreComando --command=nombre:comando

Esa instrucción crea el archivo nombreComando.php en app/Console/Commands

Editamos el arhivo. En protected $description agregamos una descripción del comando.

En public function handle() agregamos el código que deseamos se ejecute

Y también se agregan al principio los modelos y cualquier otra clase que se requiera. Ejemplo:

<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use \App\User;
use App\Models\Transaction;

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

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Verifica transacciones pendientes';

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

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        $transacciones_pendientes = Transaction::get();

        foreach ($transacciones_pendientes as $transaccion)
        {
            if ($transaccion->id == 102)
            {
                $transaccion->transaction_state_id = $transaccion->transaction_state_id + 1;
                $transaccion->save();
            }            
        }
        return ;
    }
}

Nos vamos al panel del servidor Vesta, en el menú hacemos click en «Tareas» y agregamos el comando indicando cuando se ejecutará y con qué frecuencia. Ejemplo:

cd /rutaAlDirectoriodelProyecto && php7.3 artisan transacciones:pendientes >> /dev/null 2>&1

/

chevron_left
chevron_right

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Comentario
Nombre
Correo electrónico
Web