def callback(self, target, producer, stop_event, path_qty, path_list, task): if stop_event.is_set(): raise NeuralNetworkStopExceptions( 'Neural network stopped by client') start_qty = path_qty - len(path_list) progress = int((start_qty + self._count) * 100 / path_qty) result = {'path': path_list[self._count], 'target': target} msg = { 'result': result, 'status': 'In progress {}%'.format(progress), 'extra': {} } producer.publish(body=json.dumps(msg)) self._store_result(result, task) if progress % 5 == 0: HUEY.emit_task(status='in progress', task=task, progress=progress) self._count += 1