Pular para o conteúdo

Status Hooks

Execute Workers code in reaction to Container status changes

Atualizado em Ver como Markdown

When a Container starts, stops, becomes idle, and errors, it can trigger code execution in a Worker that has defined status hooks on the Container class. Refer to the Container class lifecycle hooks for more details.

import { Container } from "@cloudflare/containers";

export class MyContainer extends Container {
	defaultPort = 4000;
	sleepAfter = "5m";

	override onStart() {
		console.log("Container successfully started");
	}

	override onStop(stopParams) {
		if (stopParams.exitCode === 0) {
			console.log("Container stopped gracefully");
		} else {
			console.log("Container stopped with exit code:", stopParams.exitCode);
		}

		console.log("Container stop reason:", stopParams.reason);
	}

	override async onActivityExpired() {
		console.log("Container became idle, stopping it now");
		await this.stop();
	}

	override onError(error: string) {
		console.log("Container error:", error);
	}
}