# CronDelete

`CronCreate` で以前にスケジュールされたクロンジョブをキャンセルします。インメモリのセッションストアから即座に削除します。ジョブがすでに自動削除されている場合（ワンショットジョブは実行後に自動削除、繰り返しジョブは7日後に自動期限切れ）、この操作は何も行いません。

## 使用タイミング

- ユーザーが7日間の自動期限切れ前に繰り返しスケジュールタスクを停止するよう求めた場合。
- ワンショットジョブが不要になり、実行前にキャンセルしたい場合。
- 既存ジョブのスケジュール式を変更する必要がある場合 — `CronDelete` で削除してから、新しい式で `CronCreate` を使って再作成します。
- 複数の古いジョブを整理してセッションストアをクリーンに保つ場合。

## パラメータ

- `id` (string, 必須): ジョブが最初に作成されたときに `CronCreate` が返したジョブID。この値は完全に一致する必要があり、あいまい検索や名前ベースの検索はサポートされていません。

## 例

### 例 1: 実行中の繰り返しジョブをキャンセル

ID `"cron_abc123"` の繰り返しジョブが以前に作成されており、ユーザーが停止を求めています。

```
CronDelete({ id: "cron_abc123" })
```

ジョブはセッションストアから削除され、再び実行されることはありません。

### 例 2: 実行前に古いワンショットジョブを削除

ID `"cron_xyz789"` のワンショットジョブが30分後に実行されるようにスケジュールされていましたが、ユーザーがもう不要と判断しました。

```
CronDelete({ id: "cron_xyz789" })
```

ジョブはキャンセルされます。元のトリガー時刻になっても何も実行されません。

## 注意事項

- `id` は `CronCreate` の戻り値から取得する必要があります。説明やコールバックでジョブを検索する方法はないため、後でキャンセルが必要になる可能性がある場合はIDを保存してください。
- ジョブがすでに自動削除されている場合（ワンショットとして実行されたか、7日間の繰り返し期限切れに達した場合）、そのIDで `CronDelete` を呼び出してもノーオペレーションとなり、エラーは発生しません。
- `CronDelete` は現在のインメモリセッションにのみ影響します。ランタイムが再起動をまたいでクロン状態を永続化しない場合、`CronDelete` が呼び出されたかどうかに関わらず、再起動後にスケジュールされたジョブは失われます。
- 一括削除操作はありません。各ジョブをそれぞれの `id` を使って個別にキャンセルしてください。
