graceful_shutdown
(PHP 8.6+, True Async 1.0)
graceful_shutdown() — 스케줄러의 정상적인 종료를 시작합니다. 모든 코루틴에 취소 요청이 전달됩니다.
설명
graceful_shutdown(?Async\AsyncCancellation $cancellationError = null): void
정상 종료 절차를 시작합니다: 모든 활성 코루틴이 취소되고, 애플리케이션은 코루틴이 자연스럽게 완료될 때까지 계속 실행됩니다.
매개변수
cancellationError
코루틴에 전달할 선택적 취소 오류입니다. 지정하지 않으면 기본 메시지가 사용됩니다.
반환 값
반환 값이 없습니다.
예제
예제 #1 종료 시그널 처리
<?php
use function Async\spawn;
use function Async\graceful_shutdown;
use Async\AsyncCancellation;
// 요청을 처리하는 서버
spawn(function() {
// 시그널 수신 시 — 정상적으로 종료
pcntl_signal(SIGTERM, function() {
graceful_shutdown(new AsyncCancellation('Server shutdown'));
});
while (true) {
// 요청 처리 중...
}
});
?>
참고
참고:
graceful_shutdown()호출 이후에 생성된 코루틴은 즉시 취소됩니다.
참고:
exit와die는 자동으로 정상 종료를 트리거합니다.
같이 보기
- Cancellation — 취소 메커니즘
- Scope — 수명 주기 관리