def send_update(self): Push.get(self.context).push( 'tasks', { 'type': 'update', 'tasks': self.format_tasks(), } )
def notify(self, message=None): if message: Push.get(self.context).push('tasks', { 'type': 'message', 'message': message, }) self.send_update()
def notify(self, message=None): if message: Push.get(self.context).push( 'tasks', { 'type': 'message', 'message': message, } ) self.send_update()
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()
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()
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, })
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, })
def send_update(self): Push.get(self.context).push('tasks', { 'type': 'update', 'tasks': self.format_tasks(), })