def on_post(self, req, resp, dataset_id, dataset_dto):
"""Generates a search index to perform data lookups operations.
This task may take long time to complete, so it uses tasks.
:query int n_trees: The number of trees generated
:param id dataset_id: The dataset to insert triples into
:param DTO dataset_dto: The Dataset DTO from dataset_id (from hook)
"""
# Dig for the param on Query Params
n_trees = req.get_param_as_int('n_trees')
# Call to the task
task = async_tasks.build_search_index.delay(dataset_id, n_trees)
# Create the new task
task_dao = data_access.TaskDAO()
task_obj, err = task_dao.add_task_by_uuid(task.id)
if task_obj is None:
raise falcon.HTTPNotFound(description=str(err))
task_obj["next"] = "/datasets/" + dataset_id
task_dao.update_task(task_obj)
msg = "Task {} created successfuly".format(task_obj['id'])
textbody = {"status": 202, "message": msg}
resp.location = "/tasks/" + str(task_obj['id'])
resp.body = json.dumps(textbody)
resp.content_type = 'application/json'
resp.status = falcon.HTTP_202
评论列表
文章目录