示例#1
0
文件: tasks.py 项目: Dolphi2/ajenti
 def send_update(self):
     Push.get(self.context).push(
         'tasks', {
             'type': 'update',
             'tasks': self.format_tasks(),
         }
     )
示例#2
0
文件: tasks.py 项目: youprofit/ajenti
 def notify(self, message=None):
     if message:
         Push.get(self.context).push('tasks', {
             'type': 'message',
             'message': message,
         })
     self.send_update()
示例#3
0
文件: tasks.py 项目: Dolphi2/ajenti
 def notify(self, message=None):
     if message:
         Push.get(self.context).push(
             'tasks', {
                 'type': 'message',
                 'message': message,
             }
         )
     self.send_update()
示例#4
0
文件: tasks.py 项目: youprofit/ajenti
 def _reader(self):
     while True:
         try:
             msg = self.pipe.get()
         except EOFError:
             self.running = False
             self.finished = time.time()
             logging.debug('Task %s pipe was closed', self.id)
             self.service.remove(self.id)
             self.service.notify()
             return
         if msg['type'] == 'exception':
             self.exception = msg['exception']
             logging.debug('Task %s reports exception: %s', self.id,
                           msg['exception'])
             self.service.notify({
                 'type': 'exception',
                 'exception': self.exception,
                 'task': {
                     'id': self.id,
                     'name': self.name,
                 }
             })
             self.service.remove(self.id)
             self.service.notify()
         if msg['type'] == 'progress':
             self.progress = msg['progress']
             logging.debug(
                 'Task %s reports progress: %s %s/%s',
                 self.id,
                 self.progress['message'],
                 self.progress['done'],
                 self.progress['total'],
             )
         if msg['type'] == 'done':
             logging.debug('Task %s reports completion', self.id)
             self.service.notify({
                 'type': 'done',
                 'task': {
                     'id': self.id,
                     'name': self.name,
                 }
             })
             self.service.remove(self.id)
             self.service.notify()
         if msg['type'] == 'push':
             Push.get(self.context).push(msg['plugin'], msg['message'])
             logging.debug(
                 'Task %s sends a push message: %s %s',
                 self.id,
                 msg['plugin'],
                 msg['message'],
             )
         if msg['type'] == 'log':
             self.context.worker.send_to_upstream(msg)
         self.service.notify()
示例#5
0
文件: tasks.py 项目: Dolphi2/ajenti
 def _reader(self):
     while True:
         try:
             msg = self.pipe.get()
         except EOFError:
             self.running = False
             self.finished = time.time()
             logging.debug('Task %s pipe was closed', self.id)
             self.service.remove(self.id)
             self.service.notify()
             return
         if msg['type'] == 'exception':
             self.exception = msg['exception']
             logging.debug('Task %s reports exception: %s', self.id, msg['exception'])
             self.service.notify({
                 'type': 'exception',
                 'exception': self.exception,
                 'task': {
                     'id': self.id,
                     'name': self.name,
                 }
             })
             self.service.remove(self.id)
             self.service.notify()
         if msg['type'] == 'progress':
             self.progress = msg['progress']
             logging.debug(
                 'Task %s reports progress: %s %s/%s',
                 self.id,
                 self.progress['message'],
                 self.progress['done'],
                 self.progress['total'],
             )
         if msg['type'] == 'done':
             logging.debug('Task %s reports completion', self.id)
             self.service.notify({
                 'type': 'done',
                 'task': {
                     'id': self.id,
                     'name': self.name,
                 }
             })
             self.service.remove(self.id)
             self.service.notify()
         if msg['type'] == 'push':
             Push.get(self.context).push(msg['plugin'], msg['message'])
             logging.debug(
                 'Task %s sends a push message: %s %s',
                 self.id,
                 msg['plugin'],
                 msg['message'],
             )
         if msg['type'] == 'log':
             self.context.worker.send_to_upstream(msg)
         self.service.notify()
示例#6
0
文件: tasks.py 项目: Mu-L/ajenti
 def _reader(self):
     while True:
         try:
             msg = self.pipe.get()
         except EOFError:
             self.running = False
             self.finished = time.time()
             logging.debug(f'Task {self.id} pipe was closed')
             self.service.remove(self.id)
             self.service.notify()
             return
         if msg['type'] == 'exception':
             self.exception = msg['exception']
             logging.debug(
                 f'Task {self.id} reports exception: {msg["exception"]}')
             self.service.notify({
                 'type': 'exception',
                 'exception': self.exception,
                 'task': {
                     'id': self.id,
                     'name': self.name,
                 }
             })
             self.service.remove(self.id)
             self.service.notify()
         if msg['type'] == 'progress':
             self.progress = msg['progress']
             logging.debug(
                 f'Task {self.id} reports progress: '
                 f'{self.progress["message"]} '
                 f'{self.progress["done"]}/{self.progress["total"]}')
         if msg['type'] == 'done':
             logging.debug(f'Task {self.id} reports completion')
             self.service.notify({
                 'type': 'done',
                 'task': {
                     'id': self.id,
                     'name': self.name,
                 }
             })
             self.service.remove(self.id)
             self.service.notify()
         if msg['type'] == 'push':
             Push.get(self.context).push(msg['plugin'], msg['message'])
             logging.debug(
                 f'Task {self.id} sends a push message: {msg["plugin"]} {msg["message"]}'
             )
         if msg['type'] == 'log':
             self.context.worker.send_to_upstream(msg)
         self.service.notify()
示例#7
0
文件: push.py 项目: eGeekster/ajenti
 def _reader(self):
     q = Push.get(self.context).register()
     while True:
         try:
             plugin, msg = q.get()
         except gevent.queue.Empty:
             return
         if msg:
             self.send({
                 'plugin': plugin,
                 'message': msg,
             })
示例#8
0
文件: push.py 项目: Dolphi2/ajenti
 def _reader(self):
     q = Push.get(self.context).register()
     while True:
         try:
             plugin, msg = q.get()
         except gevent.queue.Empty:
             return
         except EOFError:
             return
         if msg:
             self.send({
                 'plugin': plugin,
                 'message': msg,
             })
示例#9
0
文件: tasks.py 项目: youprofit/ajenti
 def send_update(self):
     Push.get(self.context).push('tasks', {
         'type': 'update',
         'tasks': self.format_tasks(),
     })