move searx.shared.redisdb to searx.redisdb

This commit is contained in:
Alexandre Flament 2022-11-11 21:58:32 +01:00
parent 34e260f88f
commit b971167ced
12 changed files with 16 additions and 24 deletions

View file

@ -294,7 +294,7 @@ Global Settings
.. _Redis.from_url(url): https://redis-py.readthedocs.io/en/stable/connections.html#redis.client.Redis.from_url
A redis DB can be connected by an URL, in :py:obj:`searx.shared.redisdb` you
A redis DB can be connected by an URL, in :py:obj:`searx.redisdb` you
will find a description to test your redis connection in SerXNG. When using
sockets, don't forget to check the access rights on the socket::

View file

@ -239,8 +239,8 @@ For example on Fedora (RHEL): If you try to install a redis DB with socket
communication and you want to connect to it from the SearXNG uWSGI, you will see a
*Permission denied* in the log of your instance::
ERROR:searx.shared.redis: [searxng (993)] can't connect redis DB ...
ERROR:searx.shared.redis: Error 13 connecting to unix socket: /usr/local/searxng-redis/run/redis.sock. Permission denied.
ERROR:searx.redisdb: [searxng (993)] can't connect redis DB ...
ERROR:searx.redisdb: Error 13 connecting to unix socket: /usr/local/searxng-redis/run/redis.sock. Permission denied.
ERROR:searx.plugins.limiter: init limiter DB failed!!!
Even if your *searxng* user of the uWSGI process is added to additional groups

View file

@ -132,5 +132,4 @@ to see if there are some left overs. In this example there exists a *old*
INFO: [OK] (old) account 'filtron' does not exists
INFO: [OK] (old) account 'morty' does not exists
...
INFO searx.shared : Use shared_simple implementation
INFO searx.shared.redis : connected redis DB --> default
INFO searx.redisdb : connected redis DB --> default

View file

@ -4,5 +4,5 @@
Redis DB
========
.. automodule:: searx.shared.redisdb
.. automodule:: searx.redisdb
:members:

View file

@ -16,7 +16,7 @@ Enable the plugin in ``settings.yml``:
import re
from flask import request
from searx.shared import redisdb
from searx import redisdb
from searx.redislib import incr_sliding_window
name = "Request limiter"

View file

@ -7,8 +7,8 @@
This implementation uses the :ref:`settings redis` setup from ``settings.yml``.
A redis DB connect can be tested by::
>>> from searx.shared import redisdb
>>> redisdb.init()
>>> from searx import redisdb
>>> redisdb.initialize()
True
>>> db = redisdb.client()
>>> db.set("foo", "bar")
@ -30,7 +30,7 @@ OLD_REDIS_URL_DEFAULT_URL = 'unix:///usr/local/searxng-redis/run/redis.sock?db=0
"""This was the default Redis URL in settings.yml."""
_CLIENT = None
logger = logging.getLogger('searx.shared.redisdb')
logger = logging.getLogger(__name__)
def client() -> redis.Redis:

View file

@ -14,7 +14,7 @@ from typing_extensions import TypedDict, Literal
import redis.exceptions
from searx import logger, settings, searx_debug
from searx.shared.redisdb import client as get_redis_client
from searx.redisdb import client as get_redis_client
from searx.exceptions import SearxSettingsException
from searx.search.processors import PROCESSORS
from searx.search.checker import Checker

View file

@ -17,7 +17,7 @@ import time
import importlib
from typing import Callable
from searx.shared.redisdb import client as get_redis_client
from searx.redisdb import client as get_redis_client
from searx.redislib import lua_script_storage

View file

@ -1,6 +0,0 @@
# SPDX-License-Identifier: AGPL-3.0-or-later
# lint: pylint
"""Initialization of a *shared* storage.
"""
from . import redisdb

View file

@ -120,7 +120,7 @@ from searx.locales import (
# renaming names from searx imports ...
from searx.autocomplete import search_autocomplete, backends as autocomplete_backends
from searx.languages import language_codes as languages
from searx.shared.redisdb import initialize as redis_initialize
from searx.redisdb import initialize as redis_initialize
from searx.search import SearchWithPlugins, initialize as search_initialize
from searx.network import stream as http_stream, set_context_network_name
from searx.search.checker import get_result as checker_get_result

View file

@ -295,7 +295,7 @@ In your instance, redis DB connector is configured at:
${redis_url}
"
if searxng.instance.exec python -c "from searx.shared import redisdb; redisdb.initialize() or exit(42)"; then
if searxng.instance.exec python -c "from searx import redisdb; redisdb.initialize() or exit(42)"; then
info_msg "SearXNG instance is able to connect redis DB."
return
fi
@ -317,8 +317,8 @@ In your instance, redis DB connector is configured at:
# fedora35 there is v2.0.20 installed --> no way to get additional
# groups on fedora's tyrant mode.
#
# ERROR:searx.shared.redis: [searxng (993)] can't connect redis DB ...
# ERROR:searx.shared.redis: Error 13 connecting to unix socket: /usr/local/searxng-redis/run/redis.sock. Permission denied.
# ERROR:searx.redisdb: [searxng (993)] can't connect redis DB ...
# ERROR:searx.redisdb: Error 13 connecting to unix socket: /usr/local/searxng-redis/run/redis.sock. Permission denied.
# ERROR:searx.plugins.limiter: init limiter DB failed!!!
#
# $ ps -aef | grep '/usr/sbin/uwsgi --ini searxng.ini'

View file

@ -26,8 +26,7 @@ if os.path.isfile(OLD_SETTING):
))
warnings.warn(msg, DeprecationWarning)
from searx.shared import redisdb
from searx import get_setting
from searx import redisdb, get_setting
if not redisdb.initialize():
warnings.warn("can't connect to redis DB at: %s" % get_setting('redis.url'), RuntimeWarning, stacklevel=2)