Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Запуск и останов скриптов в окружении Django [RSS Feed]

#1 Март 31, 2009 13:37:50

Dimka665
От:
Зарегистрирован: 2008-09-19
Сообщения: 177
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск и останов скриптов в окружении Django

Решил написать первое джанго-приложение - мониторинг игровых серверов.
Схемка работы такая:
1. При http-запросах, используя джанговский орм, из бд выбирается статистика игровых серверов - текущее кол-во игроков, название карты и т.д. С этим проблем нет.
2. Каждые пять минут эта информация должна обновляться, естественно, используя джанговские модельки, то есть, этот код должен запускаться вместе с джангой, останавливаться тоже вместе с джангой и иметь доступ к моделям/орм, использовать джанговские настройки БД.
Это возможно легко и просто и красиво сделать стандартными джанговыми средствами?



Офлайн

#2 Март 31, 2009 14:25:53

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Запуск и останов скриптов в окружении Django

Dimka665
Это возможно легко и просто и красиво сделать стандартными джанговыми средствами?
http://webnewage.org/2008/2/5/komandovat-paradom-budet-django/



Офлайн

#3 Март 31, 2009 14:37:11

Dimka665
От:
Зарегистрирован: 2008-09-19
Сообщения: 177
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск и останов скриптов в окружении Django

Daevaorn
Dimka665
Это возможно легко и просто и красиво сделать стандартными джанговыми средствами?
http://webnewage.org/2008/2/5/komandovat-paradom-budet-django/
я это несколько раз читал))) так и не вкурил как эта штука может мне помочь)
мне надо создать команду, которая будет выполнять обновление статистики?
где и как ее вызывать?



Офлайн

#4 Март 31, 2009 15:25:09

poltergeist
От:
Зарегистрирован: 2007-02-28
Сообщения: 522
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск и останов скриптов в окружении Django

Вот так я обхожусь, если что-то нужно потестить на скорую руку не пользуясь ./manage.py shell
(скрипт просто лежит в корне проекта)

import os, sys

sys.path.append(os.path.dirname(os.path.abspath(__file__)))
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'

from apps.account.models import Account
print Account.objects.all()
Но кошернее наверное вашу задачу решить с помощью команд.
Где командам место: http://docs.djangoproject.com/en/dev/howto/custom-management-commands/#howto-custom-management-commands
Простой пример: http://code.djangoproject.com/browser/django/trunk/django/core/management/commands/cleanup.py



Офлайн

#5 Март 31, 2009 15:51:54

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Запуск и останов скриптов в окружении Django

Dimka665
я это несколько раз читал))) так и не вкурил как эта штука может мне помочь)
Это штука как раз поднимает окружение джанги вокруг какого-то функционала, который вы напишите в методе Command.execute()
Dimka665
мне надо создать команду, которая будет выполнять обновление статистики?
Да, например назвав её collectstats.py
Dimka665
где и как ее вызывать?
А вызывать просто
./manage.py collectstats



Офлайн

#6 Март 31, 2009 16:00:37

Dimka665
От:
Зарегистрирован: 2008-09-19
Сообщения: 177
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск и останов скриптов в окружении Django

мне надо чтобы эта штука запускалась при старте сервера и сдыхала вместе с ним.
где мне выполнять эту команду?



Офлайн

#7 Март 31, 2009 17:05:37

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Запуск и останов скриптов в окружении Django

Dimka665
мне надо чтобы эта штука запускалась при старте сервера и сдыхала вместе с ним.
Такого не бывает. В общем случае невозможно выполнять что-то “параллельно” веб-серверу.
Dimka665
где мне выполнять эту команду?
Выполнять её на сервере. Если нужно с интервалами, то вставить в cron.



Офлайн

#8 Апрель 2, 2009 15:57:23

Dimka665
От:
Зарегистрирован: 2008-09-19
Сообщения: 177
Репутация: +  0  -
Профиль   Отправить e-mail  

Запуск и останов скриптов в окружении Django

в течении двух дней заставлял джангу увидеть мою команду!!!
че я только не пробовал - ничего не помогало!
в итоге, исправил название папочки “managment” на “management” и заработало =)
спасибо всем за помощь.



Офлайн

  • Начало
  • » Django
  • » Запуск и останов скриптов в окружении Django[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version