search icon

تنظیم Celery در جنگو

Celery یک سیستم است برای سف بندی کارها و برای کارهایی مناسب است که نیاز به زمان زیادی برای اجرا دارند مثل ارسال ایمیل یا پیامک یا پردازش تصویر یا pdf و غیره

برای اجرای سلری در جنگو توی رانفلر کار بسیار ساده است ما به صورت پیشفرض از supervisord در اپلیکیشن جنگو استفاده می کنیم.

برای اضافه کردن دستوراتی که همیشه اجرا بماند باید در supervisord این دستورات قرار بگیرد.

 

مراحل تنظیم Celery در جنگو

۱. وارد مدیریت پروژه و سپس وارد پروژه مورد نظر شوید.

۲. در صفحه جدید لیست سرویس ها مشخص است که روی تنظیمات سرویس کلیک کنید تا وارد صفحه جزییات سرویس مورد نظر شوید.

۳.در این صفحه روی کانفیگ مپ کلیک کنید. (این قابلیت این امکان را به شما میدهد که فایل های کانفیگ را برای مسیر هایی که می خواهید به سادگی ایجاد و تنظیم کنید)

۴. در این صفحه ویرایش supervisord.conf را بزنید

۵. در پنجره باز شده کانفیگ هایی برای اجرا جنگو و nginx مشاهده میکنید که در انتهای فایل عبارت های زیر رو اضافه کنید. (دقت کنید به جای عبارت myproject نام پروژه جنگو خود را وارد کنید)

[program:worker]
priority=6
autostart=true
autorestart=true
stderr_logfile_maxbytes=0
stdout_logfile_maxbytes=0
command=celery -A myproject worker -l info
stderr_logfile=/dev/stdout
stdout_logfile=/dev/stderr

[program:beat]
priority=7
autostart=true
autorestart=true
stderr_logfile_maxbytes=0
stdout_logfile_maxbytes=0
command=celery -A myproject beat -l info
stderr_logfile=/dev/stdout
stdout_logfile=/dev/stderr

 

۶. بعد از انجام این کار در همین بخش بالای صفحه جلوی عبارت programs باید اپ های جدید که در بالا تعریف کردید را اضافه کنید مانند تنظیم زیر.


[group:django-worker]
priority=999
programs=nginx,django,worker,beat