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 .. _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 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:: 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 communication and you want to connect to it from the SearXNG uWSGI, you will see a
*Permission denied* in the log of your instance:: *Permission denied* in the log of your instance::
ERROR:searx.shared.redis: [searxng (993)] can't connect redis DB ... ERROR:searx.redisdb: [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: Error 13 connecting to unix socket: /usr/local/searxng-redis/run/redis.sock. Permission denied.
ERROR:searx.plugins.limiter: init limiter DB failed!!! ERROR:searx.plugins.limiter: init limiter DB failed!!!
Even if your *searxng* user of the uWSGI process is added to additional groups 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 'filtron' does not exists
INFO: [OK] (old) account 'morty' does not exists INFO: [OK] (old) account 'morty' does not exists
... ...
INFO searx.shared : Use shared_simple implementation INFO searx.redisdb : connected redis DB --> default
INFO searx.shared.redis : connected redis DB --> default

View file

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

View file

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

View file

@ -7,8 +7,8 @@
This implementation uses the :ref:`settings redis` setup from ``settings.yml``. This implementation uses the :ref:`settings redis` setup from ``settings.yml``.
A redis DB connect can be tested by:: A redis DB connect can be tested by::
>>> from searx.shared import redisdb >>> from searx import redisdb
>>> redisdb.init() >>> redisdb.initialize()
True True
>>> db = redisdb.client() >>> db = redisdb.client()
>>> db.set("foo", "bar") >>> 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.""" """This was the default Redis URL in settings.yml."""
_CLIENT = None _CLIENT = None
logger = logging.getLogger('searx.shared.redisdb') logger = logging.getLogger(__name__)
def client() -> redis.Redis: def client() -> redis.Redis:

View file

@ -14,7 +14,7 @@ from typing_extensions import TypedDict, Literal
import redis.exceptions import redis.exceptions
from searx import logger, settings, searx_debug 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.exceptions import SearxSettingsException
from searx.search.processors import PROCESSORS from searx.search.processors import PROCESSORS
from searx.search.checker import Checker from searx.search.checker import Checker

View file

@ -17,7 +17,7 @@ import time
import importlib import importlib
from typing import Callable 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 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 ... # renaming names from searx imports ...
from searx.autocomplete import search_autocomplete, backends as autocomplete_backends from searx.autocomplete import search_autocomplete, backends as autocomplete_backends
from searx.languages import language_codes as languages 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.search import SearchWithPlugins, initialize as search_initialize
from searx.network import stream as http_stream, set_context_network_name from searx.network import stream as http_stream, set_context_network_name
from searx.search.checker import get_result as checker_get_result 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} ${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." info_msg "SearXNG instance is able to connect redis DB."
return return
fi 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 # fedora35 there is v2.0.20 installed --> no way to get additional
# groups on fedora's tyrant mode. # groups on fedora's tyrant mode.
# #
# ERROR:searx.shared.redis: [searxng (993)] can't connect redis DB ... # ERROR:searx.redisdb: [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: Error 13 connecting to unix socket: /usr/local/searxng-redis/run/redis.sock. Permission denied.
# ERROR:searx.plugins.limiter: init limiter DB failed!!! # ERROR:searx.plugins.limiter: init limiter DB failed!!!
# #
# $ ps -aef | grep '/usr/sbin/uwsgi --ini searxng.ini' # $ 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) warnings.warn(msg, DeprecationWarning)
from searx.shared import redisdb from searx import redisdb, get_setting
from searx import get_setting
if not redisdb.initialize(): if not redisdb.initialize():
warnings.warn("can't connect to redis DB at: %s" % get_setting('redis.url'), RuntimeWarning, stacklevel=2) warnings.warn("can't connect to redis DB at: %s" % get_setting('redis.url'), RuntimeWarning, stacklevel=2)