Запуск beat сервиса
python manage.py celery -A telegram_shop_bot beat -l info -S djcelery.schedulers.DatabaseScheduler --settings=telegram_shop_bot.settings.prod
Запуск flower (для мониторинга)
python manage.py celery flower -A telegram_shop_bot --address=127.0.0.1 --port=5555
Запуск uwsgi сервера
uwsgi --ini ./shop_bot.uwsgi.ini --socket :8002
Запуск воркеров
nice -n 1 python manage.py celery -A telegram_shop_bot worker -l info -c 5 --settings=telegram_shop_bot.settings.prod
nice -n 1 python manage.py celery -A telegram_shop_bot worker -P prefork -l info -Q collector -c 5 --settings=telegram_shop_bot.settings.prod
nice -n 1 python manage.py celery -A telegram_shop_bot worker -P prefork -l info -Q metric -c 5 --settings=telegram_shop_bot.settings.prod
Регламент первой установки
- обновить исходники
- установить пакеты через pip
- выполнить миграции
- собрать статику
- создать таблицу кэша (python manage.py createcachetable)
- перечитать конфиги supervisor
- стартануть web-сервер через supervisor
Регламент обновления (полуавтоматическое)
- запустить fabric
fab -H do_webrunner deploy:tag_name="release_4.7_2017-04-06"
где "release_4.7_2017-04-06" - название тега, который надо развернуть
- ввести sudo пароль
Регламент обновления (ручное)
- обновить исходники
- установить пакеты через pip # pip install -r ./requirements.txt
- сделать бекап БД # pg_dump -h localhost -O shop_bot_prod -f /home/webrunner/backups/$(date +"%Y-%m-%d_%H-%M")
- выполнить миграции # python manage.py migrate
- обновить конфиг supervisor # sudo supervisorctl reread && sudo supervisorctl update
- перезагрузить web-сервер через supervisor # sudo supervisorctl restart shop_bot:
ключевые части кода для работы
more_command = create_uri(TextCommandEnum.GET_CATALOG, catalog_id=catalog_id, offset=new_offset)
query_dict = get_query_dict(call_data) catalog_id_str = query_dict.get('catalog_id')