def setup_rq_connection(): redis_url = current_app.config.get("RQ_DASHBOARD_REDIS_URL") if isinstance(redis_url, string_types): current_app.config["RQ_DASHBOARD_REDIS_URL"] = (redis_url, ) _, current_app.redis_conn = from_url((redis_url, )[0]) elif isinstance(redis_url, (tuple, list)): _, current_app.redis_conn = from_url(redis_url[0]) else: raise RuntimeError("No Redis configuration!")
def setup_rq_connection(): # we need to do It here instead of cli, since It may be embeded upgrade_config(current_app) # Getting Redis connection parameters for RQ redis_url = current_app.config.get("RQ_DASHBOARD_REDIS_URL") if isinstance(redis_url, string_types): current_app.config["RQ_DASHBOARD_REDIS_URL"] = (redis_url, ) _, current_app.redis_conn = from_url((redis_url, )[0]) elif isinstance(redis_url, (tuple, list)): _, current_app.redis_conn = from_url(redis_url[0]) else: raise RuntimeError("No Redis configuration!")
def setup_rq_connection(): # It's the only place where we can safely define default value for web background # since It is used in template current_app.config.setdefault("RQ_DASHBOARD_WEB_BACKGROUND", "#f8f9fa") # we need to do It here instead of cli, since It may be embeded upgrade_config(current_app) # Getting Redis connection parameters for RQ redis_url = current_app.config.get("RQ_DASHBOARD_REDIS_URL") if isinstance(redis_url, (tuple, list)): _, current_app.redis_conn = from_url(redis_url[0]) elif isinstance(redis_url, string_types): _, current_app.redis_conn = from_url(redis_url) else: raise RuntimeError("No Redis configuration!")
def change_rq_instance(instance_number): redis_url = current_app.config.get("RQ_DASHBOARD_REDIS_URL") if not isinstance(redis_url, (list, tuple)): return dict(status="Single RQ. Not Permitted.") if int(instance_number) >= len(redis_url): raise LookupError("Index exceeds RQ list. Not Permitted.") pop_connection() _, current_app.redis_conn = from_url(redis_url[int(instance_number)]) push_rq_connection() return dict(status="OK")
def push_rq_connection(): new_instance_number = request.view_args.get("instance_number") if new_instance_number is not None: redis_url = current_app.config.get("RQ_DASHBOARD_REDIS_URL") if new_instance_number < len(redis_url): _, new_instance = from_url(redis_url[new_instance_number]) else: raise LookupError("Index exceeds RQ list. Not Permitted.") else: new_instance = current_app.redis_conn push_connection(new_instance) current_app.redis_conn = new_instance