Project

General

Profile

Actions

機能 #4107

closed

スレーブマネージャがマスターマネージャが存在するか定期的に確認する機能

Added by n-miyamoto over 7 years ago. Updated over 7 years ago.

Status:
終了
Priority:
通常
Assignee:
Start date:
05/30/2017
Due date:
% Done:

100%

Estimated time:

Description

スレーブマネージャ起動時にマスターマネージャが起動していない、もしくは途中で通信できなくなった場合に、周期的にマスターマネージャの存在確認を行い存在する場合はマスターマネージャの登録を行う機能を実装する。


Related issues 1 (1 open0 closed)

Related to OpenRTM-aist (Java) - 機能 #4188: スレーブマネージャがマスターマネージャが存在するか定期的に確認する機能担当katami09/08/2017

Actions
Actions #1

Updated by n-miyamoto over 7 years ago

  • Status changed from 新規 to 解決
  • % Done changed from 0 to 100

スレーブマネージャがマスターマネージャを定期的に確認するかどうかは以下の項目で設定できるようにしました。

corba.update_master_manager.enable: YES

デフォルトではYESになっています。

また、確認する周期は以下の項目で設定できます。

corba.update_master_manager.interval: 10.0

デフォルトは10.0にしています。

マスターマネージャが既に登録されている場合でも、オブジェクトが存在しない場合はリストからオブジェクトを削除してマスターマネージャの存在確認を再度行います。

  def update_master_manager(self):
    if not self._isMaster and self._objref:
      guard = OpenRTM_aist.ScopedLock(self._masterMutex)
      if len(self._masters) > 0:
        for master in self._masters[:]:
          try:
            if master._non_existent():
              self._masters.remove(master)
          except:
            self._rtcout.RTC_ERROR("Unknown exception cought.")
            self._rtcout.RTC_ERROR(OpenRTM_aist.Logger.print_exception())
            self._masters.remove(master)
      del guard

      if len(self._masters) == 0:
        try:
          config = self._mgr.getConfig()
          owner = self.findManager(config.getProperty("corba.master_manager"))
          if not owner:
            self._rtcout.RTC_INFO("Master manager not found")
            return
          self.add_master_manager(owner)
          owner.add_slave_manager(self._objref)

          return
        except:
          self._rtcout.RTC_ERROR("Unknown exception cought.")
          self._rtcout.RTC_ERROR(OpenRTM_aist.Logger.print_exception())
Actions #2

Updated by n-ando over 7 years ago

  • Status changed from 解決 to 終了
Actions #3

Updated by katami over 7 years ago

  • Related to 機能 #4188: スレーブマネージャがマスターマネージャが存在するか定期的に確認する機能 added
Actions

Also available in: Atom PDF