本文整理汇总了Python中redash.tasks.record_event.delay函数的典型用法代码示例。如果您正苦于以下问题:Python delay函数的具体用法?Python delay怎么用?Python delay使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了delay函数的17个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Python代码示例。
示例1: post
def post(self):
req = request.get_json(True)
require_fields(req, ('options', 'name', 'query_id'))
alert = models.Alert.create(
name=req['name'],
query=req['query_id'],
user=self.current_user,
options=req['options']
)
record_event.delay({
'user_id': self.current_user.id,
'action': 'create',
'timestamp': int(time.time()),
'object_id': alert.id,
'object_type': 'alert'
})
# TODO: should be in model?
models.AlertSubscription.create(alert=alert, user=self.current_user)
record_event.delay({
'user_id': self.current_user.id,
'action': 'subscribe',
'timestamp': int(time.time()),
'object_id': alert.id,
'object_type': 'alert'
})
return alert.to_dict()
开发者ID:carezone,项目名称:redash,代码行数:31,代码来源:alerts.py
示例2: record_event
def record_event(self, options):
options.update({
'user_id': self.current_user.id,
'org_id': self.current_org.id
})
record_event.delay(options)
开发者ID:babybits,项目名称:redash,代码行数:7,代码来源:base.py
示例3: post
def post(self):
req = request.get_json(True)
required_fields = ("options", "name", "query_id")
for f in required_fields:
if f not in req:
abort(400)
alert = models.Alert.create(
name=req["name"], query=req["query_id"], user=self.current_user, options=req["options"]
)
record_event.delay(
{
"user_id": self.current_user.id,
"action": "create",
"timestamp": int(time.time()),
"object_id": alert.id,
"object_type": "alert",
}
)
# TODO: should be in model?
models.AlertSubscription.create(alert=alert, user=self.current_user)
record_event.delay(
{
"user_id": self.current_user.id,
"action": "subscribe",
"timestamp": int(time.time()),
"object_id": alert.id,
"object_type": "alert",
}
)
return alert.to_dict()
开发者ID:Bazoozoo,项目名称:redash,代码行数:35,代码来源:controllers.py
示例4: post
def post(self):
# TODO: send invite.
req = request.get_json(force=True)
require_fields(req, ("name", "email", "password"))
user = models.User(name=req["name"], email=req["email"])
user.hash_password(req["password"])
try:
user.save()
except IntegrityError as e:
if "email" in e.message:
abort(400, message="Email already taken.")
abort(500)
record_event.delay(
{
"user_id": self.current_user.id,
"action": "create",
"timestamp": int(time.time()),
"object_id": user.id,
"object_type": "user",
}
)
return user.to_dict()
开发者ID:carezone,项目名称:redash,代码行数:26,代码来源:users.py
示例5: delete
def delete(self, alert_id, subscriber_id):
models.AlertSubscription.unsubscribe(alert_id, subscriber_id)
record_event.delay({
'user_id': self.current_user.id,
'action': 'unsubscribe',
'timestamp': int(time.time()),
'object_id': alert_id,
'object_type': 'alert'
})
开发者ID:carezone,项目名称:redash,代码行数:9,代码来源:alerts.py
示例6: get
def get(self, query_id=None, query_result_id=None, filetype='json'):
# TODO:
# This method handles two cases: retrieving result by id & retrieving result by query id.
# They need to be split, as they have different logic (for example, retrieving by query id
# should check for query parameters and shouldn't cache the result).
should_cache = query_result_id is not None
if query_result_id is None and query_id is not None:
query = get_object_or_404(models.Query.get_by_id_and_org, query_id, self.current_org)
if query:
query_result_id = query._data['latest_query_data']
if query_result_id:
query_result = get_object_or_404(models.QueryResult.get_by_id_and_org, query_result_id, self.current_org)
else:
query_result = None
if query_result:
require_access(query_result.data_source.groups, self.current_user, view_only)
if isinstance(self.current_user, models.ApiUser):
event = {
'user_id': None,
'org_id': self.current_org.id,
'action': 'api_get',
'timestamp': int(time.time()),
'api_key': self.current_user.name,
'file_type': filetype,
'user_agent': request.user_agent.string,
'ip': request.remote_addr
}
if query_id:
event['object_type'] = 'query'
event['object_id'] = query_id
else:
event['object_type'] = 'query_result'
event['object_id'] = query_result_id
record_event.delay(event)
if filetype == 'json':
response = self.make_json_response(query_result)
elif filetype == 'xlsx':
response = self.make_excel_response(query_result)
else:
response = self.make_csv_response(query_result)
if len(settings.ACCESS_CONTROL_ALLOW_ORIGIN) > 0:
self.add_cors_headers(response.headers)
if should_cache:
response.headers.add_header('Cache-Control', 'max-age=%d' % ONE_YEAR)
return response
else:
abort(404, message='No cached result found for this query.')
开发者ID:5t111111,项目名称:redash,代码行数:57,代码来源:query_results.py
示例7: log_user_logged_in
def log_user_logged_in(app, user):
event = {
'user_id': user.id,
'action': 'login',
'object_type': 'redash',
'timestamp': int(time.time()),
}
record_event.delay(event)
开发者ID:none4uhiggins,项目名称:redash,代码行数:9,代码来源:authentication.py
示例8: delete
def delete(self, alert_id, subscriber_id):
models.AlertSubscription.unsubscribe(alert_id, subscriber_id)
record_event.delay(
{
"user_id": self.current_user.id,
"action": "unsubscribe",
"timestamp": int(time.time()),
"object_id": alert_id,
"object_type": "alert",
}
)
开发者ID:Bazoozoo,项目名称:redash,代码行数:11,代码来源:controllers.py
示例9: record_event
def record_event(org, user, options):
if isinstance(user, ApiUser):
options.update({"api_key": user.name, "org_id": org.id})
else:
options.update({"user_id": user.id, "org_id": org.id})
options.update({"user_agent": request.user_agent.string, "ip": request.remote_addr})
if "timestamp" not in options:
options["timestamp"] = int(time.time())
record_event_task.delay(options)
开发者ID:easytaxibr,项目名称:redash,代码行数:12,代码来源:base.py
示例10: log_user_logged_in
def log_user_logged_in(app, user):
event = {
'org_id': current_org.id,
'user_id': user.id,
'action': 'login',
'object_type': 'redash',
'timestamp': int(time.time()),
'user_agent': request.user_agent.string,
'ip': request.remote_addr
}
record_event.delay(event)
开发者ID:appfolio,项目名称:redash,代码行数:12,代码来源:__init__.py
示例11: record_event
def record_event(self, options):
if isinstance(self.current_user, ApiUser):
options.update({
'api_key': self.current_user.id,
'org_id': self.current_org.id
})
else:
options.update({
'user_id': self.current_user.id,
'org_id': self.current_org.id
})
record_event.delay(options)
开发者ID:CyaLiven,项目名称:redash,代码行数:13,代码来源:base.py
示例12: get
def get(self, query_id=None, query_result_id=None, filetype='json'):
should_cache = query_result_id is not None
if query_result_id is None and query_id is not None:
query = get_object_or_404(models.Query.get_by_id_and_org, query_id, self.current_org)
if query:
query_result_id = query._data['latest_query_data']
if query_result_id:
query_result = get_object_or_404(models.QueryResult.get_by_id_and_org, query_result_id, self.current_org)
if query_result:
if isinstance(self.current_user, models.ApiUser):
event = {
'user_id': None,
'org_id': self.current_org.id,
'action': 'api_get',
'timestamp': int(time.time()),
'api_key': self.current_user.id,
'file_type': filetype
}
if query_id:
event['object_type'] = 'query'
event['object_id'] = query_id
else:
event['object_type'] = 'query_result'
event['object_id'] = query_result_id
record_event.delay(event)
if filetype == 'json':
response = self.make_json_response(query_result)
elif filetype == 'xlsx':
response = self.make_excel_response(query_result)
else:
response = self.make_csv_response(query_result)
if len(settings.ACCESS_CONTROL_ALLOW_ORIGIN) > 0:
self.add_cors_headers(response.headers)
if should_cache:
response.headers.add_header('Cache-Control', 'max-age=%d' % ONE_YEAR)
return response
else:
abort(404)
开发者ID:MoveOnOrg,项目名称:redash,代码行数:47,代码来源:query_results.py
示例13: get
def get(self, query_id=None, query_result_id=None, filetype='json'):
if query_result_id is None and query_id is not None:
query = models.Query.get(models.Query.id == query_id)
if query:
query_result_id = query._data['latest_query_data']
if query_result_id:
query_result = models.QueryResult.get_by_id(query_result_id)
if query_result:
if isinstance(self.current_user, models.ApiUser):
event = {
'user_id': None,
'action': 'api_get',
'timestamp': int(time.time()),
'api_key': self.current_user.id,
'file_type': filetype
}
if query_id:
event['object_type'] = 'query'
event['object_id'] = query_id
else:
event['object_type'] = 'query_result'
event['object_id'] = query_result_id
record_event.delay(event)
headers = {}
if len(settings.ACCESS_CONTROL_ALLOW_ORIGIN) > 0:
self.add_cors_headers(headers)
if filetype == 'json':
data = json.dumps({'query_result': query_result.to_dict()}, cls=utils.JSONEncoder)
headers.update(cache_headers)
return make_response(data, 200, headers)
else:
return self.csv_response(query_result)
else:
abort(404)
开发者ID:KensoDev,项目名称:redash,代码行数:42,代码来源:controllers.py
示例14: get
def get(self, query_id=None, query_result_id=None, filetype="json"):
if query_result_id is None and query_id is not None:
query = models.Query.get(models.Query.id == query_id)
if query:
query_result_id = query._data["latest_query_data"]
if query_result_id:
query_result = models.QueryResult.get_by_id(query_result_id)
if query_result:
if isinstance(self.current_user, models.ApiUser):
event = {
"user_id": None,
"action": "api_get",
"timestamp": int(time.time()),
"api_key": self.current_user.id,
"file_type": filetype,
}
if query_id:
event["object_type"] = "query"
event["object_id"] = query_id
else:
event["object_type"] = "query_result"
event["object_id"] = query_result_id
record_event.delay(event)
headers = {}
if len(settings.ACCESS_CONTROL_ALLOW_ORIGIN) > 0:
self.add_cors_headers(headers)
if filetype == "json":
data = json.dumps({"query_result": query_result.to_dict()}, cls=utils.JSONEncoder)
headers.update(cache_headers)
return make_response(data, 200, headers)
else:
return self.csv_response(query_result)
else:
abort(404)
开发者ID:Bazoozoo,项目名称:redash,代码行数:42,代码来源:controllers.py
示例15: record_event
def record_event(org, user, options):
if isinstance(user, ApiUser):
options.update({
'api_key': user.name,
'org_id': org.id
})
else:
options.update({
'user_id': user.id,
'org_id': org.id
})
options.update({
'user_agent': request.user_agent.string,
'ip': request.remote_addr
})
if 'timestamp' not in options:
options['timestamp'] = int(time.time())
record_event_task.delay(options)
开发者ID:rezaprimasatya,项目名称:redash,代码行数:21,代码来源:base.py
示例16: get
def get(self, query_id=None, query_result_id=None, filetype='json'):
"""
Retrieve query results.
:param number query_id: The ID of the query whose results should be fetched
:param number query_result_id: the ID of the query result to fetch
:param string filetype: Format to return. One of 'json', 'xlsx', or 'csv'. Defaults to 'json'.
:<json number id: Query result ID
:<json string query: Query that produced this result
:<json string query_hash: Hash code for query text
:<json object data: Query output
:<json number data_source_id: ID of data source that produced this result
:<json number runtime: Length of execution time in seconds
:<json string retrieved_at: Query retrieval date/time, in ISO format
"""
# TODO:
# This method handles two cases: retrieving result by id & retrieving result by query id.
# They need to be split, as they have different logic (for example, retrieving by query id
# should check for query parameters and shouldn't cache the result).
should_cache = query_result_id is not None
parameter_values = collect_parameters_from_request(request.args)
max_age = int(request.args.get('maxAge', 0))
query_result = None
if query_result_id:
query_result = get_object_or_404(models.QueryResult.get_by_id_and_org, query_result_id, self.current_org)
if query_id is not None:
query = get_object_or_404(models.Query.get_by_id_and_org, query_id, self.current_org)
if query_result is None and query is not None:
if settings.ALLOW_PARAMETERS_IN_EMBEDS and parameter_values:
query_result = run_query_sync(query.data_source, parameter_values, query.query_text, max_age=max_age)
elif query.latest_query_data_id is not None:
query_result = get_object_or_404(models.QueryResult.get_by_id_and_org, query.latest_query_data_id, self.current_org)
if query is not None and query_result is not None and self.current_user.is_api_user():
if query.query_hash != query_result.query_hash:
abort(404, message='No cached result found for this query.')
if query_result:
require_access(query_result.data_source.groups, self.current_user, view_only)
if isinstance(self.current_user, models.ApiUser):
event = {
'user_id': None,
'org_id': self.current_org.id,
'action': 'api_get',
'api_key': self.current_user.name,
'file_type': filetype,
'user_agent': request.user_agent.string,
'ip': request.remote_addr
}
if query_id:
event['object_type'] = 'query'
event['object_id'] = query_id
else:
event['object_type'] = 'query_result'
event['object_id'] = query_result_id
record_event.delay(event)
if filetype == 'json':
response = self.make_json_response(query_result)
elif filetype == 'xlsx':
response = self.make_excel_response(query_result)
else:
response = self.make_csv_response(query_result)
if len(settings.ACCESS_CONTROL_ALLOW_ORIGIN) > 0:
self.add_cors_headers(response.headers)
if should_cache:
response.headers.add_header('Cache-Control', 'private,max-age=%d' % ONE_YEAR)
return response
else:
abort(404, message='No cached result found for this query.')
开发者ID:jonyboy2000,项目名称:redash,代码行数:83,代码来源:query_results.py
示例17: post
def post(self):
events_list = request.get_json(force=True)
for event in events_list:
record_event.delay(event)
开发者ID:carezone,项目名称:redash,代码行数:4,代码来源:events.py
注:本文中的redash.tasks.record_event.delay函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论