sql >> Databasteknik >  >> NoSQL >> Redis

RuntimeWarning:Du kör arbetaren med superanvändarprivilegier:detta rekommenderas absolut inte

Ta en titt i dokumentationen. Det är dock en varning, inte ett fel (se koden). Att köra Selleri under root är ett fel endast när du tillåter gurka serialisering som inte är aktiverad som standard (se här).

Det är dock fortfarande den bästa praxisen att köra Selleri med lägre privilegier. I Docker (med Debianbaserad bild) väljer jag att köra Celery under nobody :nogroup . Jag använder denna 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"]

där celery.sh ser ut som följer:

#!/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. Hur man lagrar array av hash i redis

  2. Spåra MongoDB minnesanvändning

  3. Mongodb 3.6.0-rc3-arrayfilter fungerar inte?

  4. Redis — bästa sättet att lagra en stor karta (ordbok)