def periodic_task(self, actor, **kw): '''Override the :meth:`.Concurrency.periodic_task` to implement the :class:`.Arbiter` :ref:`periodic task <actor-periodic-task>`.''' interval = 0 actor.next_periodic_task = None # if actor.started(): # managed actors job self.manage_actors(actor) for m in list(self.monitors.values()): if m.closed(): actor._remove_actor(m) interval = MONITOR_TASK_PERIOD if not actor.is_running() and actor.cfg.debug: actor.logger.debug('still stopping') # actor.fire_event('periodic_task') if not actor.closed(): actor.next_periodic_task = actor._loop.call_later( interval, self.periodic_task, actor) if actor.cfg.reload and autoreload.check_changes(): actor.stop(exit_code=autoreload.EXIT_CODE)