scheduler.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:oacids 作者: openaps 项目源码 文件源码
def arm (self, manager):
    self.manager = manager
    props = dict(obj=self.remote.path, name=self.remote.item.name, expected=self.when.isoformat( ), **self.remote.item.fields)
    self.props = props
    new_path = PATH + '/Scheduler/Armed/' + self.hashed
    delay_ms = (self.when - datetime.datetime.now( )).total_seconds( ) * 1000
    self.remote.bus.add_signal_receiver(self.cleanup, "Remove", dbus_interface=Trigger.OWN_IFACE, bus_name=BUS, path=new_path)
    # manager.bus.add_signal_receiver(self.attrs, ack=self.on_success, error=self.on_error)
    trigger = None
    try:
      trigger = Trigger(new_path, manager, props, self)
      if trigger:
        trigger.Armed( )
        self.manager.Trigger("Arming", trigger.path)
        self.trigger = trigger
        print "DELAYING", delay_ms
        gobject.timeout_add(delay_ms, trigger.Fire)
        manager.InterfacesAdded(trigger.path, { Trigger.OWN_IFACE: props })
        self.manager.Trigger("Armed", trigger.path)
    except:
      print "already exited?"
      raise
    finally:
      pass
    return trigger
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号