Ejemplo n.º 1
0
 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!")
Ejemplo n.º 2
0
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!")
Ejemplo n.º 3
0
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!")
Ejemplo n.º 4
0
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")
Ejemplo n.º 5
0
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