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