php - htmlentities - Configuración de cola en Laravel 5
print html laravel (2)
Estoy intentando ejecutar código después de devolver una respuesta HTTP. Sé que Laravel 5 tiene soporte para colas , pero todavía las encuentro confusas. Estoy intentando ejecutar el código después de que el usuario se haya registrado, lo que requiere la contraseña y el nombre de usuario del usuario. Esta respuesta parece interesante, pero no es directamente aplicable a Laravel.
- ¿Cómo creo un trabajo en una cola?
- ¿Cómo puedo pasar datos al nuevo trabajo?
Sé que esto suena flojo y todo, pero realmente no entiendo la documentación.
La configuración de colas requiere, como primer paso, elegir qué controlador usará. Debido a que es el más rápido para ejecutar, explicaré cómo comenzar con el controlador de la database
, ya que no requiere que se instalen otros servicios en el servidor (como es el caso de beanstalkd
por ejemplo). A continuación, le indicamos cómo configurar esta configuración:
1. Establezca QUEUE_DRIVER
en su archivo .env
:
QUEUE_DRIVER=database
2. Ejecute este comando para generar el archivo de migración para la tabla de jobs
, que se usará para almacenar información del trabajo:
php artisan queue:table
3. Ahora ejecute la migración para crear la tabla:
php artisan migrate
Se creó una tabla de jobs
que almacenará los datos cuando se presionen los trabajos en la cola.
Puede empujar ambos comandos y clojures en colas. En aras de la brevedad, mostraré un ejemplo de cómo insertar un cierre en una cola:
$username = Request::input(''username'');
$password = Request::input(''password'');
// Do your registration stuff
// Push a job onto the queue
/Queue::push(function($job) use ($username, $password)
{
// Do the stuff you need here with $username and $password
// Delete the job from the queue
$job->delete();
});
El último paso para hacer que esto funcione es ejecutar el oyente de cola. Los trabajos no se procesarán automáticamente a menos que el oyente de la cola se esté ejecutando. Entonces ejecuta este comando:
php artisan queue:listen
Hay otros pasos que puede seguir, como configurar Supervisor para supervisar y reiniciar el oyente de la cola en caso de que falle, pero esto debería ser suficiente para comenzar.
En general, pasamos los datos en la cola de esta manera:
En el controlador que hemos escrito -
$this->dispatch(new videoToAudioConvert($video_id))
En la sección de trabajo, tienes que escribir así:
protected $video_id
public function __contructor($video_id){
$this->video_id = $video_id
}
public function handle(){
$this->video_id
}
Puede obtener más ideas sobre cómo crear trabajos en cola y cómo pasar variables desde aquí .