zver / async
该包的最新版本(1.0.6)没有可用的许可证信息。
异步任务执行器
1.0.6
2019-07-16 21:51 UTC
Requires
- spatie/async: ^1.0
README
async
//create runner
$runner = new AsyncRunner();
for ($i = 0; $i < $count; $i++) {
//add some task class
$runner->addTask(new AsyncRunnerTestTask($i));
}
//wait for results
$results = $runner->runAndWait();
//or run in manual mode
$runner->run();
while (!$runner->isCompleted()) {
$runner->iterate();
}
$results = $runner->getResults();
构造函数
public function __construct(int $taskRunPauseSeconds = 0, int $maxTaskAtSameTime = 20, int $killTaskAfterSeconds = 3600)
- taskRunPauseSeconds = 0, 在该超时后运行下一个任务
- maxTaskAtSameTime = 20, 同时最大任务数
- killTaskAfterSeconds = 3600, 在该超时后杀死任务
任务类示例
<?php
class AsyncRunnerTestTask extends AsyncTask
{
public function configure()
{
//prepare for something
}
public function run()
{
//do something
}
}
安装
composer require zver/async