Kereviz ve diğer şeyleri (örneğin veritabanı) başlatması gereken bir uygulamam var. Uygulama yapılandırmasını içerecek bir .ini dosyasına sahip olmak isterim. Bu, çalışma zamanında uygulamaya geçirilmelidir.Python özellikler kütüğünden Kereviz yapılandırmasını okuyun
development.init:
[celery]
broker=amqp://localhost/
backend=amqp://localhost/
task.result.expires=3600
[database]
# database config
# ...
celeryconfig.py:
celery worker --app=myproject.celeryconfig -l info
olmadan yapılandırma dosyasında geçmek yine de var mı:
from celery import Celery
import ConfigParser
config = ConfigParser.RawConfigParser()
config.read(...) # Pass this from the command line somehow
celery = Celery('myproject.celery',
broker=config.get('celery', 'broker'),
backend=config.get('celery', 'backend'),
include=['myproject.tasks'])
# Optional configuration, see the application user guide.
celery.conf.update(
CELERY_TASK_RESULT_EXPIRES=config.getint('celery', 'task.result.expires')
)
# Initialize database, etc.
if __name__ == '__main__':
celery.start()
, arayacağım kereviz başlatmak için Bir ortam değişkeni ayarlamak gibi çirkin bir şey yapmak?
hangi Envvarlara alternatif olarak kullanılabilir. – asksol
Çirkin ya da değil, orijinal soruyla aynı şeyi merak ediyordum, ama bu cevap vermemize yardımcı olmuyor. : (@ Asksol'un kurbanı yararlı olsa da) – shazow