Source

django-celery-about / source / security.rst

Security

Queue/Exchangeが他人と混ざらないように

app.tasks.yourtask が別のプロジェクトとかぶったりとか

  • キューの変更するとか
# setttins.py

from kombu import Exchange, Queue

CELERY_DEFAULT_QUEUE = 'soup'
CELERY_QUEUES = (
    Queue('soup', Exchange('soup'), routing_key='soup'),
)

RabbitMQ:アカウント/バーチャルホスト

  • プロジェクトごとにアカウントで、事前にキューを管理者が提供する(自動で作らないようにする)
  • あるいはバーチャルホスト
  • プロジェクトごとにバーチャル環境を用意して、BROKER_URLが異なるようにする
#: settings.py
BROKER_URL = 'amqp://paloma_id:paloma_pwd@localhost:5672/paloma'