> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jinba.io/llms.txt
> Use this file to discover all available pages before exploring further.

# スケジューリング

> ワークフローを自動的に実行するスケジュールを設定する方法を学ぶ

## 概要

Jinba Flowでは、cron式を使用して、指定された時刻にワークフローを自動実行するスケジュールを設定できます。スケジュールされたワークフローは公開バージョンを実行するため、自動化タスク、定期的なデータ処理、スケジュールされたレポートに最適です。

## スケジューリングとは？

スケジューリングにより、ワークフローの自動実行が可能になります：

* **自動実行**: ワークフローがスケジュールに基づいて自動的に実行されます
* **Cron式**: 標準のcron構文を使用して実行時刻を定義
* **公開バージョン**: スケジュールされたワークフローは常に公開バージョンを使用します
* **タイムゾーンサポート**: 正確なスケジューリングのためにタイムゾーンを指定

## 前提条件

ワークフローをスケジュールするには：

1. **公開されたワークフロー**: ワークフローが公開されている必要があります（[公開](/ja/pages/basics/publish)を参照）
2. **スケジュール権限**: ワークスペースでワークフローをスケジュールする権限が必要です
3. **Cron式**: ワークフローを実行する時刻を定義

## スケジュールの設定

### ステップ1: ワークフロー設定を開く

1. フローエディタで公開されたワークフローを開く
2. **実行**または**設定**セクションに移動
3. **スケジュール**セクションを見つける

### ステップ2: スケジュールを有効化

1. **スケジュールを有効化**スイッチをONに切り替え
2. スケジュール設定フォームが表示されます

### ステップ3: スケジュールを設定

1. cron式を入力するか、ビジュアルスケジュールビルダーを使用
2. オプションでタイムゾーンを指定
3. スケジュールの説明を確認（例：「毎日午前0時」）
4. スケジュールを保存

### ステップ4: スケジュールを確認

1. スケジュールがアクティブであることを確認
2. 次のスケジュール実行時刻を表示
3. 実行履歴でスケジュールされた実行を監視

## Cron式

### 基本的なCron構文

Cron式は5つのフィールドで構成されます：

```
┌───────────── 分 (0 - 59)
│ ┌───────────── 時 (0 - 23)
│ │ ┌───────────── 日 (1 - 31)
│ │ │ ┌───────────── 月 (1 - 12)
│ │ │ │ ┌───────────── 曜日 (0 - 6) (日曜日から土曜日)
│ │ │ │ │
* * * * *
```

### 一般的なCronの例

#### 毎分

```
* * * * *
```

#### 毎時

```
0 * * * *
```

#### 毎日午前0時

```
0 0 * * *
```

#### 毎日正午

```
0 12 * * *
```

#### 毎週月曜日午前9時

```
0 9 * * 1
```

#### 毎月1日午前0時

```
0 0 1 * *
```

#### 15分ごと

```
*/15 * * * *
```

#### 毎日午前2時30分

```
30 2 * * *
```

#### 平日午前9時

```
0 9 * * 1-5
```

#### 四半期の最初の日午前0時

```
0 0 1 */3 *
```

## タイムゾーンサポート

### タイムゾーンの指定

`CRON_TZ`プレフィックスを使用してタイムゾーンを指定できます：

```
CRON_TZ=America/New_York 0 9 * * *
```

これは毎日東部時間の午前9時にワークフローを実行します。

### 一般的なタイムゾーン

* `UTC`: 協定世界時
* `America/New_York`: 東部時間
* `America/Chicago`: 中部時間
* `America/Los_Angeles`: 太平洋時間
* `Europe/London`: グリニッジ標準時
* `Asia/Tokyo`: 日本標準時
* `Australia/Sydney`: オーストラリア東部時間

**注意**: タイムゾーンが指定されていない場合、スケジュールはUTCを使用します。

## スケジュール管理

### スケジュールの有効化

1. ワークフロー設定を開く
2. スケジュールセクションに移動
3. **スケジュールを有効化**をONに切り替え
4. cron式を設定
5. スケジュールを保存

### スケジュールの無効化

1. ワークフロー設定を開く
2. スケジュールセクションに移動
3. **スケジュールを有効化**をOFFに切り替え
4. スケジュールが即座に無効化されます

**注意**: スケジュールを無効化すると、今後のすべての実行が停止されますが、現在実行中のワークフローには影響しません。

### スケジュールの更新

1. ワークフロー設定を開く
2. スケジュールセクションに移動
3. cron式を変更
4. 変更を保存

**重要**: スケジュールの更新は即座に有効になります。次の実行は新しいスケジュールを使用します。

## スケジュール実行の動作

### 公開バージョン

スケジュールされたワークフローは常に**公開バージョン**を実行します：

* **安定性**: 現在の編集ではなく、安定した公開バージョンを使用
* **一貫性**: スケジュールされた実行が同じバージョンを使用することを保証
* **更新**: 再公開してスケジュールされたワークフローのバージョンを更新

### 実行コンテキスト

スケジュールされた実行：

* **ソース**: 実行履歴で「SCHEDULE」としてマークされます
* **引数**: デフォルトまたは空の引数を使用（設定されていない場合）
* **権限**: ワークスペース権限で実行
* **ログ記録**: すべての実行が実行履歴に記録されます

### 実行の監視

スケジュールされた実行を監視：

1. 実行履歴を表示
2. ソース「SCHEDULE」でフィルタリング
3. 実行ステータスと結果を確認
4. 発生したエラーを確認

## ベストプラクティス

1. **スケジュール前にテスト**: スケジュールする前にワークフローを十分にテスト
2. **安定したバージョンを公開**: 安定した公開バージョンのワークフローのみをスケジュール
3. **タイムゾーンの認識**: 正確なスケジューリングのために常にタイムゾーンを指定
4. **実行の監視**: スケジュールされた実行について定期的に実行履歴を確認
5. **エラーハンドリング**: スケジュール実行のためにワークフローにエラーハンドリングを実装
6. **リソース管理**: 頻繁にスケジュールされるワークフローのリソース使用を考慮
7. **ドキュメント**: ワークフローの説明でスケジュールの目的とタイミングを文書化

## 一般的なユースケース

### 日次レポート

日次レポートを生成するワークフローをスケジュール：

```
# 毎日午前8時
0 8 * * *
```

### データ同期

定期的なデータ同期をスケジュール：

```
# 6時間ごと
0 */6 * * *
```

### 週次サマリー

週次サマリー生成をスケジュール：

```
# 毎週月曜日午前9時
0 9 * * 1
```

### 月次処理

月次データ処理をスケジュール：

```
# 毎月1日午前0時
0 0 1 * *
```

### 頻繁な監視

頻繁な監視タスクをスケジュール：

```
# 5分ごと
*/5 * * * *
```

## トラブルシューティング

### スケジュールが実行されない

**考えられる原因**:

* スケジュールが無効になっている
* ワークフローが公開されていない
* Cron式が無効
* ワークフローがアーカイブされている

**解決策**:

1. スケジュールが有効であることを確認
2. ワークフローが公開されていることを確認
3. Cron式の構文を検証
4. ワークフローがアーカイブされていないことを確認

### 実行時刻が間違っている

**考えられる原因**:

* タイムゾーンが指定されていない
* 不正なcron式
* タイムゾーン変換の問題

**解決策**:

1. タイムゾーンを明示的に指定
2. cron式を確認
3. まず簡単なスケジュールでテスト

### 実行の失敗

**考えられる原因**:

* ワークフローエラー
* 認証情報の欠落
* リソース制限

**解決策**:

1. 実行履歴でエラーを確認
2. 認証情報が設定されていることを確認
3. ワークフローロジックを確認
4. リソースの可用性を確認

## スケジュール検証

### Cron式の検証

システムはcron式を検証します：

* **構文チェック**: 有効なcron構文を保証
* **範囲検証**: フィールド範囲を検証
* **エラーメッセージ**: 無効な式に対して明確なエラーメッセージを提供

### ビジュアルスケジュールビルダー

多くのインターフェースがビジュアルスケジュールビルダーを提供します：

* **ポイントアンドクリック**: 視覚的にスケジュールオプションを選択
* **プレビュー**: 保存前にスケジュールの説明を表示
* **検証**: スケジュール設定の自動検証

## 関連機能

* [公開](/ja/pages/basics/publish) - ワークフローの公開について学ぶ
* [API](/ja/pages/basics/api) - API経由でワークフローを呼び出す方法を学ぶ
* [履歴とバージョン](/ja/pages/basics/history-versions) - 実行履歴について学ぶ
