doable.py 文件源码

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

项目:oacids 作者: openaps 项目源码 文件源码
def run (self, manager, Q):
    print "running", self, self.running
    while self.running or not Q.empty( ):
      item, callbacks = Q.get( )
      on_ack, on_error = callbacks
      print "GOT FROM Q", item
      results = None
      # print "ALL SCHEDULED", manager.master.scheduler.schedules
      trigger = get_trigger_for(item.get('trigger', None), manager.master.scheduler)
      print "FROM TRIGGER", trigger
      # http://stackoverflow.com/questions/5943249/python-argparse-and-controlling-overriding-the-exit-status-code
      fuzz = dbus.Dictionary(item, signature="sv")
      # fuzz.update(**item)
      manager.Phase('get', fuzz);
      update_phase(trigger, 'Running')
      try:
        app = DoTool.Make(item)
        manager.Phase('make', fuzz);
        print "GOT ITEM", item, app
        results = app( )
        update_phase(trigger, 'Success')
        manager.Phase('success', fuzz);
        on_ack(results)
        # bad
        time.sleep(0.150)

      except (Exception, SystemExit), e:
        print "EXCEPTINO!!!!"
        print e
        manager.Phase('error', fuzz);
        update_phase(trigger, 'Error')
        time.sleep(0.150)
        on_error( )
        if e:
          traceback.print_exc(file=sys.stdout)
          # traceback.print_last( )
      finally:

        # update_phase(trigger, 'Done')
        # update_phase(trigger, 'Finish')
        update_phase(trigger, 'Remove')
        print "DONE", results
        Q.task_done( )
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号