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 ヘルパー関数を使用します。