Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

RuntimeWarning:Anda menjalankan pekerja dengan hak pengguna super:ini sama sekali tidak disarankan

Lihat di dokumentasi. Namun, ini adalah peringatan, bukan kesalahan (lihat kodenya). Menjalankan Seledri di bawah root adalah kesalahan hanya jika Anda mengizinkan serialisasi acar yang tidak diaktifkan secara default (lihat di sini).

Namun, ini masih merupakan praktik terbaik untuk menjalankan Seledri dengan hak istimewa yang lebih rendah. Di Docker (dengan gambar berbasis Debian), saya memilih untuk menjalankan Seledri di bawah nobody :nogroup . Saya menggunakan Dockerfile ini :

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"]

di mana celery.sh terlihat sebagai berikut:

#!/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. Bagaimana cara meningkatkan penggunaan CPU server Redis?

  2. Redis + ActionController::Utas langsung tidak mati

  3. Redis lambat untuk mendapatkan string besar

  4. Bagaimana cara redis kedaluwarsa kunci?

  5. Akurasi perintah redis dbsize