sql >> Database teknologi >  >> NoSQL >> Redis

RuntimeWarning:Du kører arbejderen med superbrugerrettigheder:dette anbefales absolut ikke

Tag et kig i dokumentationen. Det er dog en advarsel, ikke en fejl (se koden). At køre selleri under root er kun en fejl, når du tillader pickleserialisering, som ikke er aktiveret som standard (se her).

Det er dog stadig den bedste praksis at køre Selleri med lavere privilegier. I Docker (med Debian-baseret image) vælger jeg at køre Celery under nobody :nogroup . Jeg bruger denne 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"]

hvor celery.sh ser ud som følger:

#!/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. Rails + MongoMapper + EmbeddedDocument formularhjælp

  2. Dokumentdatabaser:Redundante data, referencer osv. (Specifikt MongoDB)

  3. Sådan opretter du forbindelse til ElastiCache-klyngen ved hjælp af node.js

  4. Redis filtrer efter område, sorter og returner 10 først