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