5.5. Anaconda モジュールおよび D-Bus ライブラリー
Anaconda のモジュールは、独立したプロセスとして実行されます。D-Bus
API を使用してこれらのプロセスと通信するには、dasbus
ライブラリーを使用します。
D-Bus
API を使用したメソッドへの呼び出しは非同期ですが、dasbus
ライブラリーでは Python で同期メソッド呼び出しに変換できます。以下のプログラムのいずれかを記述することもできます。
- 非同期呼び出しおよびリターンハンドラーを使用するプログラム
- 呼び出しが完了するまで呼び出しを待機する同期呼び出しを使用するプログラム
スレッドと通信の詳細は、Anaconda スレッド間 の通信を参照してください。
また、Anaconda は、モジュールで実行している Task オブジェクトを使用します。タスクには、追加のスレッドで自動的に実行される D-Bus
API とメソッドがあります。タスクを正常に実行するには、sync_run_task
関数および async_run_task
ヘルパー関数を使用します。