Container の起動、停止、アイドル化、エラー発生時に、Container クラスでステータスフックを定義した Worker のコードを実行できます。詳細は Container クラスのライフサイクルフック を参照してください。
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);
}
}