Project

General

Profile

機能 #4107

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

Added by n-miyamoto over 4 years ago. Updated about 4 years ago.

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

100%

Estimated time:

Description

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


Related issues

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

Associated revisions

Revision 831 (diff)
Added by miyamoto over 4 years ago

[incompat,new func,->RELENG_1_2] refs #4107

History

#1 Updated by n-miyamoto over 4 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())

#2 Updated by n-ando about 4 years ago

  • Status changed from 解決 to 終了

#3 Updated by katami about 4 years ago

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

Also available in: Atom PDF