No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Curso Avanzado de PHP

Curso Avanzado de PHP

H茅ctor Benitez

H茅ctor Benitez

Async tasks

29/35
Recursos

Existen procesos que queremos ejecutar pero no queremos que el usuario se quede esperando por una respuesta. En muchos casos esos tiempos de espera ser谩n muy grandes dependiendo del tama帽o de los archivos.
La mejor soluci贸n es darle una respuesta inmediata al usuario como 鈥淩ecibimos tu archivo, te enviaremos un correo cuando lo procesemos鈥 y en otro proceso estaremos trabajando con el archivo y al finalizar enviaremos el correo. A esto lo llamamos tareas as铆ncronas.

Aportes 13

Preguntas 5

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Para no duplicar c贸digo lo que hice fue:
1.- Crear una carpeta llamada config en la ra铆z del proyecto y dentro de el un archivo llamado database.php.

curso-introduccion-php
	/app
	/config
		/database.php
	/db
	...

2.- CORTAR el c贸digo de Capsule de index.php y pegarlo en database.php, tambi茅n es necesario COPIAR el c贸digo del Dotenv:

<?php

use Illuminate\Database\Capsule\Manager as Capsule;

$dotenv = new Dotenv\Dotenv(__DIR__ . '/..');
$dotenv->load();

$capsule = new Capsule;
$capsule->addConnection([
    'driver'    => getenv('DB_DRIVER'),
    'host'      => getenv('DB_HOST'),
    'database'  => getenv('DB_NAME'),
    'username'  => getenv('DB_USER'),
    'password'  => getenv('DB_PASS'),
    'charset'   => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix'    => '',
    'port'      => getenv('DB_PORT')
]);

// Make this Capsule instance available globally via static methods... (optional)
$capsule->setAsGlobal();
// Setup the Eloquent ORM... (optional; unless you've used setEventDispatcher())
$capsule->bootEloquent();

3.- Agregar en el composer.json nuestro archivo database.php al autoload:

{
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        },
        "files": ["config/database.php"]
    },
    ...

4.- Correr en nuestra terminal el siguiente comando composer dump-autoload.

Y listo deber铆a funcionar sin necesidad de tener el c贸digo de Capsule en index.php ni en console.php.

Por si te preguntas por qu茅 tuvimos que volver a importar dotenv y eloquent, es porque los comandos en consola nunca pasan por public/index.php

Esto porque realmente al usar los comandos tenemos otro punto de entrada (Que en este caso es command.php) y ah铆 en ning煤n momento se uso a dotenv ni Eloquent, es por eso que debemos volver a configurarlos

Of course, puedes poner esto en archivos separados y volver a importarlos:D!

En el caso de llevar el proyecto a producci贸n en un Hosting Compartido, hay forma de ejecutar el CustomComand desde la App? (ya que no tendr铆a acceso a consola)

Una consulta.
Cual es el contenido del modelo Message?
Porque solo quedo declarado y nada mas.

Gracias

Recomiendas el uso de Workerman? saludos

Excelente una vez m谩s, que sencillo.

Async tasks
Existen procesos que queremos ejecutar pero no queremos que el usuario se quede esperando por una respuesta. En muchos casos esos tiempos de espera ser谩n muy grandes dependiendo del tama帽o de los archivos.
La mejor soluci贸n es darle una respuesta inmediata al usuario como 鈥淩ecibimos tu archivo, te enviaremos un correo cuando lo procesemos鈥 y en otro proceso estaremos trabajando con el archivo y al finalizar enviaremos el correo. A esto lo llamamos tareas as铆ncronas.

Existen procesos que queremos ejecutar pero no queremos que el usuario se quede esperando por una respuesta. En muchos casos esos tiempos de espera ser谩n muy grandes dependiendo del tama帽o de los archivos.

La mejor soluci贸n es darle una respuesta inmediata al usuario como 鈥淩ecibimos tu archivo, te enviaremos un correo cuando lo procesemos鈥 y en otro proceso estaremos trabajando con el archivo y al finalizar enviaremos el correo. A esto lo llamamos tareas as铆ncronas.

Que interesante

Genial!

馃憣馃憣馃憤

Eso lo hago yo en mi pagina web xdxd
Que hermoso 鉂わ笍