Skip to content

raphaeu/async

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

async

Latest Stable Version Total Downloads Author License

Fazer resquisições multitask assíncronas com PHP de forma fácil e eficiente.

Requisitos

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages