def post_tasks_cancel(self, json_input):
        username = None
        if not self._authorize.verify_user(require_credentials=False):
            username = request.authorization.username

        if json_input.get('tasks'):
            response = self._cancel_tasks(json_input, username)
        else:
            response = self._cancel_task(json_input, username)
        self._master.send_json({'action': 'container_callback'})
        return jsonify(prepare_response(response))
 def post_tasks(self, json_input):
     task_group = task_group_prototype()
     task_group['username'] = request.authorization.username
     task_group['tasks_count'] = len(json_input.get('tasks', [0]))
     task_group_id = self._mongo.db['task_groups'].insert_one(task_group).inserted_id
     self._state_handler.transition('task_groups', task_group_id, 'created', 'Task group created.')
     if json_input.get('tasks'):
         result = self._create_tasks(json_input, task_group_id)
     else:
         result = self._create_task(json_input, task_group_id)
     self._state_handler.transition('task_groups', task_group_id, 'waiting', 'Task group waiting.')
     self._master.send_json({'action': 'schedule'})
     return jsonify(prepare_response(result))
 def post_task_groups_query(self, json_input):
     return jsonify(prepare_response(self._aggregate(json_input, 'task_groups')))
 def post_data_containers_query(self, json_input):
     return jsonify(prepare_response(self._aggregate(json_input, 'data_containers')))