Redis
 sql >> Baza danych >  >> NoSQL >> Redis

RuntimeWarning:Używasz pracownika z uprawnieniami superużytkownika:to absolutnie nie jest zalecane

Zajrzyj do dokumentacji. Jest to jednak ostrzeżenie, a nie błąd (patrz kod). Uruchamianie selera jako root jest błędem tylko wtedy, gdy zezwalasz na serializację pikle, która nie jest domyślnie włączona (patrz tutaj).

Jednak nadal najlepszą praktyką jest uruchamianie selera z niższymi uprawnieniami. W Dockerze (z obrazem opartym na Debianie) wybieram uruchomienie Celery pod nobody :nogroup . Używam tego Dockerfile :

FROM python:3.6

ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1

WORKDIR /srv/celery

COPY ./app app
COPY ./requirements.txt /tmp/requirements.txt
COPY ./celery.sh celery.sh

RUN pip install --no-cache-dir \
    -r /tmp/requirements.txt

VOLUME ["/var/log/celery", "/var/run/celery"]

CMD ["./celery.sh"]

gdzie celery.sh wygląda następująco:

#!/usr/bin/env bash

mkdir -p /var/run/celery /var/log/celery
chown -R nobody:nogroup /var/run/celery /var/log/celery

exec celery --app=app worker \
            --loglevel=INFO --logfile=/var/log/celery/worker-example.log \
            --statedb=/var/run/celery/[email protected]%h.state \
            [email protected]%h \
            --queues=celery.example -O fair \
            --uid=nobody --gid=nogroup



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Funkcja klawiszy Redis do dopasowania z wieloma wzorami

  2. $redis globalna zmienna z rubinem na szynach

  3. RQ — Opróżnij i usuń kolejki

  4. Otrzymuję błąd Nie znaleziono klasy „Predis\Client” w Laravel 5.2

  5. Uruchamianie Redisa w Travis CI