Foros del Web » Programando para Internet » PHP »

LARAVEL Cron Jobs no ejecuta

Estas en el tema de LARAVEL Cron Jobs no ejecuta en el foro de PHP en Foros del Web. Hola a todos, espero puedan apoyarme, necesito con urgencia solucionar este problema, ocurre que tengo un Command ya creado, este se encarga de generar pdf ...
  #1 (permalink)  
Antiguo 21/08/2017, 18:36
 
Fecha de Ingreso: octubre-2008
Mensajes: 268
Antigüedad: 15 años, 6 meses
Puntos: 3
LARAVEL Cron Jobs no ejecuta

Hola a todos, espero puedan apoyarme, necesito con urgencia solucionar este problema, ocurre que tengo un Command ya creado, este se encarga de generar pdf y repartirlos via correo electronico a determinadas empresas segun el rubro al cual pertenece.

Mi codigo del command es:
Código PHP:
<?php

namespace AppConsoleCommands
;

use 
IlluminateConsoleCommand;

use 
Appm_empr;
use 
Appd_empr_sect;
use 
Appm_norm;
use 
Appm_sect;

class 
NuevaNorma extends Command
{
    
/**
     * The name and signature of the console command.
     *
     * @var string
     */
    
protected $signature 'msg:normas';

    
/**
     * The console command description.
     *
     * @var string
     */
    
protected $description 'Enviara correos electronicos de forma mensual, avisando sobre las nuevas normas del mes';

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

    
/**
     * Execute the console command.
     *
     * @return mixed
     */
    
public function handle()
    {
        
$t_sect m_sect::select('m_sects.id''m_sects.no_sect')->get();
        
$t_empr m_empr::select('no_empr''id_sect''em_empr')->get();
        
        foreach(
$t_sect as $ts){
            
$t_norm $this->getData($ts->id);
            
$date date('Y-m-d');
            
            
$pdf PDF::loadView('docs.mensaje'compact('t_norm''date'))
               ->
save'docs/normas_'.$ts->id.'.pdf' );
        }
        
        foreach(
$t_empr as $te){
            
Mail::send('email.mensual', ['te' => $te], function($msj) use ($te){
                
$address '[email protected]';//$inputs['email'];
                
$name 'OISCI Global'//$inputs['name'];
                
$msj->subject('Se publicaron nuevas normas este mes.');
                
$msj->to($te->em_empr); 
                
$msj->attach('docs/normas_'.$te->id_sect.'.pdf');
            });
        }
    }
    
    public function 
getData($id
    {
        
$data m_norm::select(
        
'm_tipos.ab_tipo',
        
'm_norms.nu_norm',
        
'm_norms.no_norm',
        
'm_norms.fe_publ_norm',
        
'm_norms.fe_vige_norm'
        
)
        ->
join ('d_norm_sects''d_norm_sects.id_norm''=''m_norms.id')
        ->
join ('m_tipos''m_tipos.id''=''m_norms.id_tipo')
        ->
where('d_norm_sects.id_sect',$id)
        ->
orderBy('m_norms.no_norm''ASC')
        ->
get();

        return 
$data;
    }
}
Mi Kenel dice:
Código PHP:
<?php

namespace AppConsole
;

use 
IlluminateConsoleSchedulingSchedule;
use 
IlluminateFoundationConsoleKernel as ConsoleKernel;

class 
Kernel extends ConsoleKernel
{
    
/**
     * The Artisan commands provided by your application.
     *
     * @var array
     */
    
protected $commands = [
        
// Commands\Inspire::class,
        
'App\Console\Commands\NuevaNorma'
    
];

    
/**
     * Define the application's command schedule.
     *
     * @param  \Illuminate\Console\Scheduling\Schedule  $schedule
     * @return void
     */
    
protected function schedule(Schedule $schedule)
    {
        
// $schedule->command('inspire')
        //          ->hourly();
        
$schedule->command('msg:normas')
                 ->
cron('0,15,30,45 * * * *');
    }
}
Pero a la hora de configurar mi cron job en mi cpanel no me sirve, lo que coloco en mi cron job es lo siguiente:

Código:
/usr/local/bin/php -q /legalvl/artisan schedule:run 1>> /dev/null 2>&1
php /home/fymgestion/legalvl/artisan schedule:run >> /dev/null 2>&1
php -q /legalvl/artisan schedule:run 1>> /dev/null 2>&1
/usr/local/bin/php -q /home/fymgestion/legalvl/artisan schedule:run 1>> /dev/null 2>&1
He probado con los 4 cron y ninguno me funciona.

Alguna idea?
  #2 (permalink)  
Antiguo 22/08/2017, 07:49
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: LARAVEL Cron Jobs no ejecuta

Funciona si lo pruebas desde el navegador? De ser el caso, entonces tu problema no es PHP, sino Apache o CPanel.

Si funciona en el navegador, intenga ejecutarlo desde la consola (SSH), omitiendo la última parte (ejecución en segundo plano), para que veas los mensajes de error y sea más fácil encontrar la solución.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 22/08/2017, 20:36
 
Fecha de Ingreso: octubre-2008
Mensajes: 268
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: LARAVEL Cron Jobs no ejecuta

Cita:
Iniciado por Triby Ver Mensaje
Funciona si lo pruebas desde el navegador? De ser el caso, entonces tu problema no es PHP, sino Apache o CPanel.

Si funciona en el navegador, intenga ejecutarlo desde la consola (SSH), omitiendo la última parte (ejecución en segundo plano), para que veas los mensajes de error y sea más fácil encontrar la solución.
No se como solucionarlo, el framework es Laravel 5.2, el problema esta en las rutas donde se guarda el pdf, no se como enrrutarlo correctamente, no encuentra el pdf.

Alguna idea?
  #4 (permalink)  
Antiguo 23/08/2017, 10:57
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: LARAVEL Cron Jobs no ejecuta

1. Hay forma de ejecutar el script en el navegador?... prueba primero ahí para asegurarte que tu script PHP funciona correctamente.

2. Abre la consola y ejecuta los comandos que pusiste anteriormente, omitiendo 1>> /dev/null 2>&1 para que no se ejecute en segundo plano y puedas ver los mensajes de error; solo así tendrás idea del problema.
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: cron, ejecuta, jobs, laravel, select, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:09.