TaskSet::seal
(PHP 8.6+, True Async 1.0)
public TaskSet::seal(): void
Запечатывает набор. После этого spawn() и spawnWithKey() бросают исключение.
Уже запущенные корутины и задачи в очереди продолжают работать.
Повторный вызов — noop.
Примеры
Пример #1 Базовое использование
<?php
use Async\TaskSet;
spawn(function() {
$set = new TaskSet();
$set->spawn(fn() => "задача");
$set->seal();
try {
$set->spawn(fn() => "ещё задача");
} catch (\Async\AsyncException $e) {
echo $e->getMessage() . "\n";
// "Cannot spawn tasks on a sealed TaskGroup"
}
});
См. также
- TaskSet::cancel — Отменить все задачи (неявно вызывает seal)
- TaskSet::isSealed — Проверить, запечатан ли набор