Форум сайта python.su
Решил написать первое джанго-приложение - мониторинг игровых серверов.
Схемка работы такая:
1. При http-запросах, используя джанговский орм, из бд выбирается статистика игровых серверов - текущее кол-во игроков, название карты и т.д. С этим проблем нет.
2. Каждые пять минут эта информация должна обновляться, естественно, используя джанговские модельки, то есть, этот код должен запускаться вместе с джангой, останавливаться тоже вместе с джангой и иметь доступ к моделям/орм, использовать джанговские настройки БД.
Это возможно легко и просто и красиво сделать стандартными джанговыми средствами?
Офлайн
Dimka665http://webnewage.org/2008/2/5/komandovat-paradom-budet-django/
Это возможно легко и просто и красиво сделать стандартными джанговыми средствами?
Офлайн
Daevaornя это несколько раз читал))) так и не вкурил как эта штука может мне помочь)Dimka665http://webnewage.org/2008/2/5/komandovat-paradom-budet-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()
Офлайн
Dimka665Это штука как раз поднимает окружение джанги вокруг какого-то функционала, который вы напишите в методе Command.execute()
я это несколько раз читал))) так и не вкурил как эта штука может мне помочь)
Dimka665Да, например назвав её collectstats.py
мне надо создать команду, которая будет выполнять обновление статистики?
Dimka665А вызывать просто
где и как ее вызывать?
./manage.py collectstats
Офлайн
мне надо чтобы эта штука запускалась при старте сервера и сдыхала вместе с ним.
где мне выполнять эту команду?
Офлайн
Dimka665Такого не бывает. В общем случае невозможно выполнять что-то “параллельно” веб-серверу.
мне надо чтобы эта штука запускалась при старте сервера и сдыхала вместе с ним.
Dimka665Выполнять её на сервере. Если нужно с интервалами, то вставить в cron.
где мне выполнять эту команду?
Офлайн
в течении двух дней заставлял джангу увидеть мою команду!!!
че я только не пробовал - ничего не помогало!
в итоге, исправил название папочки “managment” на “management” и заработало =)
спасибо всем за помощь.
Офлайн