🚀output-workflow-start
- プラグイン
- outputai
- ソース
- GitHub で見る ↗
説明
完了を待たずに、Output SDK ワークフローを非同期で開始します。 次のような場合に使用: - 長時間実行されるワークフローを開始する - 後から監視するためのワークフロー ID を取得する - バックグラウンドでワークフローを実行する - 複数のワークフローを並列で実行する
原文を表示
Start an Output SDK workflow asynchronously without waiting for completion. Use when starting long-running workflows, getting a workflow ID for later monitoring, running workflows in the background, or executing multiple workflows in parallel.
ユースケース
- ✓長時間実行されるワークフローを開始する
- ✓後から監視するためのワークフロー ID を取得する
- ✓バックグラウンドでワークフローを実行する
- ✓複数のワークフローを並列で実行する
本文(日本語訳)
ワークフローの非同期起動
概要
このスキルはワークフローを非同期で起動します。つまり、ワークフローがバックグラウンドで実行される間、コマンドはすぐにワークフロー ID を返して終了します。 実行時間が長いワークフローや、複数のワークフローを並列実行したい場合に使用してください。
このスキルを使う場面
- 数分〜数時間かかるワークフローを起動する場合
- 複数のワークフローを並列実行する場合
- 一度切断して、後から結果を確認したい場合
- ワークフローの進捗を別途モニタリングする場合
- トラッキング用のワークフロー ID をすぐに取得する必要がある場合
同期実行を使うべき場面
次のような場合は npx output workflow run(同期)の使用を検討してください:
- ワークフローがすぐに(数秒以内に)完了する場合
- ターミナルで結果をすぐに確認したい場合
- 開発中の簡単なテストを行う場合
- 結果まで含めて 1 つのコマンドで完結させたい場合
使用方法
基本構文
npx output workflow start <workflowName> --input '<json-input>'
npx output workflow start <workflowName> --input <path-to-json-file>
ワークフローが入力データを必要とする場合、--input フラグは必須です。
入力方法
1. インライン JSON
コマンドライン上に JSON を直接指定します:
npx output workflow start data-migration --input '{"batchSize": 1000}'
2. ファイルパス(推奨)
入力データを含む JSON ファイルを参照します:
npx output workflow start data-migration --input src/data_migration/scenarios/large_batch.json
この方法を推奨する理由:
- 入力内容がバージョン管理され、再現性が確保される
- 複雑な入力も読み書きしやすい
- シナリオをチームで共有・再利用できる
ワークフロー ID の取得
コマンド実行後に出力されるワークフロー ID は、以下の操作に必要です:
- ステータス確認:
npx output workflow status <id> - 結果の取得:
npx output workflow result <id> - デバッグ:
npx output workflow debug <id>
使用例
シナリオ: シナリオファイルを使って実行時間の長いワークフローを起動する
npx output workflow start data-migration --input src/data_migration/scenarios/full_migration.json
# 出力例:
# Started workflow: data-migration
# Workflow ID: abc123xyz
# Use 'npx output workflow status abc123xyz' to check progress
シナリオ: シナリオファイルを使って複数のワークフローを並列起動する
# 異なるシナリオファイルで複数のワークフローを起動
npx output workflow start process-batch --input src/process_batch/scenarios/batch_1.json
npx output workflow start process-batch --input src/process_batch/scenarios/batch_2.json
npx output workflow start process-batch --input src/process_batch/scenarios/batch_3.json
# 注意: 後から確認できるよう、ワークフロー ID を保存しておいてください
シナリオ: シナリオを作成してからワークフローを起動する
# シナリオファイルを作成
mkdir -p src/generate_report/scenarios
cat > src/generate_report/scenarios/annual_2024.json << 'EOF'
{
"year": 2024,
"includeCharts": true,
"format": "pdf"
}
EOF
# ワークフローを起動
npx output workflow start generate-report --input src/generate_report/scenarios/annual_2024.json
# 出力例: Workflow ID: report-2024-abc
# 定期的にステータスを確認
npx output workflow status report-2024-abc
# 出力例: Status: RUNNING
# しばらく後に再確認
npx output workflow status report-2024-abc
# 出力例: Status: COMPLETED
# 結果を取得
npx output workflow result report-2024-abc
シナリオ: 開発中のクイックインラインテスト
npx output workflow start quick-job --input '{"test": true}'
シナリオ: 並列実行用スクリプト
# ワークフローを起動して ID をキャプチャ
ID1=$(npx output workflow start job --input src/job/scenarios/type_a.json | grep "Workflow ID" | cut -d: -f2 | tr -d ' ')
ID2=$(npx output workflow start job --input src/job/scenarios/type_b.json | grep "Workflow ID" | cut -d: -f2 | tr -d ' ')
# 待機してから結果を確認
npx output workflow result $ID1
npx output workflow result $ID2
起動後のフォローアップ
ステータスの確認
npx output workflow status <workflowId>
ステータスの値:
- RUNNING: 実行中
- COMPLETED: 正常に完了
- FAILED: エラーが発生
- TERMINATED: 手動で停止された
結果の取得
npx output workflow result <workflowId>
COMPLETED 状態のワークフローにのみ有効です。FAILED の場合はデバッグコマンドを使用してください。
失敗時のデバッグ
npx output workflow debug <workflowId> --json
必要に応じた停止
npx output workflow stop <workflowId>
ワークフロー ID の管理
複数のワークフローを起動する場合は、ID を適切に記録しておきましょう:
# ID をファイルに記録
npx output workflow start batch-job --input src/batch_job/scenarios/id_1.json >> workflow-ids.txt
npx output workflow start batch-job --input src/batch_job/scenarios/id_2.json >> workflow-ids.txt
# または、ID が予測可能になるような命名規則をワークフロー内で使用する
ベストプラクティス
- シナリオファイルを活用する: 再現性のために入力データは
src/<workflow>/scenarios/に保存する - ワークフロー ID を保存する: 後から参照できるよう、必ず ID を記録しておく
- 長時間ワークフローを監視する:
npx output workflow statusで進捗を定期確認する - 失敗に備える: 結果を取得する前にステータスを確認する
- クリーンアップする: 停止したままのワークフローは
npx output workflow stopで終了させる
関連コマンド
npx output workflow run <name> --input— 同期実行npx output workflow status <id>— 実行ステータスの確認npx output workflow result <id>— 実行結果の取得npx output workflow stop <id>— 実行中のワークフローを停止npx output workflow debug <id>— ワークフロー実行のデバッグ
原文(English)を表示
Start Workflow Asynchronously
Overview
This skill starts a workflow asynchronously, meaning the command returns immediately with a workflow ID while the workflow executes in the background. Use this for long-running workflows or when you need to run multiple workflows in parallel.
When to Use This Skill
- Starting workflows that take minutes or hours
- Running multiple workflows in parallel
- When you need to disconnect and check results later
- Monitoring workflow progress separately
- When you need the workflow ID immediately for tracking
When to Use Sync Instead
Consider using npx output workflow run (sync) when:
- Workflow completes quickly (seconds)
- You need the result immediately in your terminal
- Simple testing during development
- You want a single command with the result
Instructions
Basic Syntax
npx output workflow start <workflowName> --input '<json-input>'
npx output workflow start <workflowName> --input <path-to-json-file>
The --input flag is required when the workflow expects input data.
Input Methods
1. Inline JSON
Pass JSON directly on the command line:
npx output workflow start data-migration --input '{"batchSize": 1000}'
2. File Path (Recommended)
Reference a JSON file containing the input:
npx output workflow start data-migration --input src/data_migration/scenarios/large_batch.json
This is the recommended approach because:
- Input is version controlled and reproducible
- Complex inputs are easier to read and edit
- Scenarios can be shared and reused
Getting the Workflow ID
The command outputs the workflow ID which you'll need for:
- Checking status:
npx output workflow status <id> - Getting results:
npx output workflow result <id> - Debugging:
npx output workflow debug <id>
Examples
Scenario: Start a long-running workflow with scenario file
npx output workflow start data-migration --input src/data_migration/scenarios/full_migration.json
# Output:
# Started workflow: data-migration
# Workflow ID: abc123xyz
# Use 'npx output workflow status abc123xyz' to check progress
Scenario: Start multiple workflows in parallel using scenario files
# Start several workflows with different scenario files
npx output workflow start process-batch --input src/process_batch/scenarios/batch_1.json
npx output workflow start process-batch --input src/process_batch/scenarios/batch_2.json
npx output workflow start process-batch --input src/process_batch/scenarios/batch_3.json
# Note: Save the workflow IDs to check them later
Scenario: Create scenario then start workflow
# Create a scenario file
mkdir -p src/generate_report/scenarios
cat > src/generate_report/scenarios/annual_2024.json << 'EOF'
{
"year": 2024,
"includeCharts": true,
"format": "pdf"
}
EOF
# Start the workflow
npx output workflow start generate-report --input src/generate_report/scenarios/annual_2024.json
# Output: Workflow ID: report-2024-abc
# Check status periodically
npx output workflow status report-2024-abc
# Output: Status: RUNNING
# Later, check again
npx output workflow status report-2024-abc
# Output: Status: COMPLETED
# Get the result
npx output workflow result report-2024-abc
Scenario: Quick inline test for development
npx output workflow start quick-job --input '{"test": true}'
Scenario: Script for parallel execution
# Start workflows and capture IDs
ID1=$(npx output workflow start job --input src/job/scenarios/type_a.json | grep "Workflow ID" | cut -d: -f2 | tr -d ' ')
ID2=$(npx output workflow start job --input src/job/scenarios/type_b.json | grep "Workflow ID" | cut -d: -f2 | tr -d ' ')
# Wait and check results
npx output workflow result $ID1
npx output workflow result $ID2
Following Up After Starting
Check Status
npx output workflow status <workflowId>
Status values:
- RUNNING: Still executing
- COMPLETED: Finished successfully
- FAILED: Encountered an error
- TERMINATED: Was manually stopped
Get Result
npx output workflow result <workflowId>
Only works for COMPLETED workflows. For FAILED workflows, use debug.
Debug If Failed
npx output workflow debug <workflowId> --json
Stop If Needed
npx output workflow stop <workflowId>
Workflow ID Management
When starting multiple workflows, keep track of IDs:
# Log IDs to a file
npx output workflow start batch-job --input src/batch_job/scenarios/id_1.json >> workflow-ids.txt
npx output workflow start batch-job --input src/batch_job/scenarios/id_2.json >> workflow-ids.txt
# Or use a naming convention in your workflow that makes IDs predictable
Best Practices
- Use scenario files: Store inputs in
src/<workflow>/scenarios/for reproducibility - Save the workflow ID: Always note the ID for later reference
- Monitor long workflows: Use
npx output workflow statusto check progress - Handle failures: Check status before getting results
- Clean up: Stop any stuck workflows with
npx output workflow stop
Related Commands
npx output workflow run <name> --input- Execute synchronouslynpx output workflow status <id>- Check execution statusnpx output workflow result <id>- Get execution resultnpx output workflow stop <id>- Stop a running workflownpx output workflow debug <id>- Debug a workflow execution
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。