我正在用Laravel开发一个二进制多级营销系统,在注册时,我们必须执行一个任务,为新用户的每个父节点输入许多类型的奖金。这项任务非常耗时。
没有一个用户希望看到缓冲和任务耗时超过30秒,这不是正确的方式。
我想在后台运行此机制,并发送一条成功消息,表明您的帐户已成功创建。
发布于 2019-07-26 17:13:20
您可以使用触发queued jobs的observers。
用户对模型执行操作后,观察者在后台创建排队的作业。在处理队列时,用户可以继续工作。
发布于 2019-07-26 17:41:16
要么实现laravel作业和队列,要么使用https://github.com/spatie/async。您可以调用子流程来完成任务
use Spatie\Async\Pool;
$pool = Pool::create();
foreach ($things as $thing) {
$pool->add(function () use ($thing) {
// Do a thing
})->then(function ($output) {
// Handle success
})->catch(function (Throwable $exception) {
// Handle exception
});
}
$pool->wait();https://stackoverflow.com/questions/57216673
复制相似问题