def event(self, event): worker_name = event['hostname'] event_type = event['type'] if event_type.startswith('task-'): logger.error('************') task = State.Task(uuid=event.get('uuid')) logger.error('event is: {}'.format(event)) logger.error('State is: {}'.format(dir(State))) logger.error('State2 is: {}'.format(dir(State.event))) #logger.error('Task is: {}'.format(dir(State.get_or_create_task(self, uuid=event.get('uuid'))))) logger.error('Task is: {}'.format(dir(State.Task(uuid=event.get('uuid'))))) logger.error('Routing Key is: {}'.format(task.routing_key)) logger.error('Exchange is: {}'.format(task.exchange)) #tasks = State.tasks.get(event['uuid']) #logger.error('tasks are : {}'.format(tasks)) self.counter[worker_name][event_type] += 1 if event_type.startswith('task-'): task_id = event['uuid'] task_name = event.get('name', '') if not task_name and task_id in self.tasks: task_name = self.tasks[task_id].name or '' self.metrics.events.labels(worker_name, event_type, task_name).inc() runtime = event.get('runtime', 0) if runtime: self.metrics.runtime.labels(worker_name, task_name).observe(runtime) # Send event to api subscribers (via websockets) classname = api.events.getClassName(event_type) cls = getattr(api.events, classname, None) if cls: cls.send_message(event) # Save the event super(EventsState, self).event(event)