raphaeu / async
Php assyncrono
Installs: 47
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
Requires
- php: >=5.6
README
Fazer resquisições multitask assíncronas com PHP de forma fácil e eficiente.
Requisitos
- PHP >= 5.6
Instalando com composer
composer require raphaeu/async
Usando
// Import use async\Task; use async\Async; // Inicialize async class $async = new Async(); // Create tasks $task1 = new Task("php /tmp/randTimer.php"); $task2 = new Task("php /tmp/randTimer.php"); $task3 = new Task("php /tmp/randTimer.php"); // Vinculando testes $async->addTask($task1); $async->addTask($task2); $async->addTask($task3); // Rodando tarefas assíncronas while ($totalOk = $async->hasDo()) { echo "Rodando: ".((count($async->getTasks()) - $totalOk) + 1)."/". count($async->getTasks()) ."\r"; usleep(250); } // Pegando resultados das tarefas foreach ($async->getTasks() as $task) { echo PHP_EOL. $task->getResult(); }
Arquivo do teste assíncrono randTimer.php
<?php sleep(rand(1, 5)); echo time();
Configurando
Para conseguir resgatar o resultado da tarefa assíncrona precisa informar uma path temporária.
$async = new Async('/path-temp/');
Changelog
A lista de mudanças voce pode encontrar na página GitHub Releases.
Soluções de problemas
Por favor, reporte os bugs para GitHub Issue Tracker.
Copyright
Este projeto está licenciado sob a MIT License.