プラグインのライフサイクルフック

Aura SL5 は、状態が変化したときにプラグイン (マップ) が特定のロジックを自動的に実行できるようにするライフサイクルフックをサポートしています。

on_reload() フック

on_reload() 関数は、任意のプラグイン マップ (.py) 内で定義できる特別なオプション関数です。

### 行動

  • トリガー: この関数は、モジュールのホットリロードが正常に完了した 直後 (ファイル変更の検出 + 音声トリガー) に実行されます。

  • コンテキスト: メイン アプリケーション フロー内で実行されます。

  • 範囲: システムの初期起動 (コールド スタート) 時には実行されません**。これは厳密に ロード シナリオ用です。

使用例

  • セキュリティ: 編集後に機密ファイルを自動的に再暗号化または再圧縮します。

  • 状態管理: グローバル カウンターをリセットするか、特定のキャッシュをクリアします。

  • 通知: 変更が適用されたことを確認するために、特定のデバッグ情報をログに記録します。

技術的な詳細と安全性

  • エラー処理: 実行は try/excel ブロックでラップされます。 on_reload 関数がクラッシュした場合 (たとえば、DivisionByZero)、エラー ( on_reload の実行中にエラーが発生しました...) がログに記録されますが、Aura はクラッシュしません

  • パフォーマンス: 関数は同期的に実行されます。音声コマンドの処理が一時的にブロックされるため、長時間実行タスク (大規模なダウンロードなど) をこの関数で直接実行することは避けてください。重いタスクの場合は、スレッドを生成します。

コード例

CODE_BLOCK_0