TaskGroup::seal

(PHP 8.6+, True Async 1.0)

public TaskGroup::seal(): void

Запечатує групу. Будь-яка спроба використати spawn() або spawnWithKey() призведе до винятку. Вже запущені корутини та задачі в черзі продовжують виконуватися.

Повторні виклики не мають ефекту.

Приклади

Приклад #1 Базове використання

<?php

use Async\TaskGroup;

spawn(function() {
    $group = new TaskGroup();

    $group->spawn(fn() => "task");
    $group->seal();

    try {
        $group->spawn(fn() => "another task");
    } catch (\Async\AsyncException $e) {
        echo $e->getMessage() . "\n";
        // "Cannot spawn tasks on a sealed TaskGroup"
    }
});

Дивіться також