
Paquete de simulación de subprocesos múltiples de Laravel
Paquete — ¿Listos para el ejercicio de hoy? Consiste en descargar varios archivos a la vez en un proyecto Laravel.
¡Así es! Y lo haremos con Laravel + Javascript para hacer esta operación. Lo encontré útil para hacerlo utilizable en otros proyectos.
📌 Este paquete funciona solo en Linux (por ahora).
Comencemos con la instalación del paquete.
Instale nodejs en su servidor.
sudo apt-get install nodejs
Requiere este pack con Composer usando el siguiente comando:
composer require g4t/laravel-multithread
Uso
use g4t\Multithread\Run; public function index() { if(Run::check()) { #### This is an example of query $files = $this->query(); #### pass query response to `multithread` function Run::multithread($files); } else { #### this similar to work `Request $request` $data = Run::request(); #### The same data that comes from the query #### here what we want to do in multithreaded $path = public_path()."/files//".$data['name']; shell_exec("wget {$data['url']} -O {$path}"); } } public function query() { $files = [ [ "id" => 1, "name" => "file1.zip", "url" => "https://speed.hetzner.de/100MB.bin" ], [ "id" => 2, "name" => "file2.zip", "url" => "https://speed.hetzner.de/100MB.bin" ], [ "id" => 3, "name" => "file3.zip", "url" => "https://speed.hetzner.de/100MB.bin" ] ]; return $files; }
Haga clic AQUÍ para ver este paquete en Github.
Recent Post
WebSocket sin servidor con AWS Lambda y Fanout
WebSocket sin servidor (serverless) con AWS Lambda y Fanout
setTimeout () vs setImmediate () Timer en Node.js
Funciones setTimeout frente a setImmediate Timer en Node.js
S3: Cómo cargar y entregar datos
Cómo cargar y entregar datos usando Amazon CloudFront y Amazon S3 en Node.js