Уведомления

Группа в Telegram: @pythonsu

#1 Март 3, 2010 21:43:31

pyOut
От:
Зарегистрирован: 2006-07-16
Сообщения: 125
Репутация: +  0  -
Профиль   Отправить e-mail  

Django Thread

Приветствую Python-сообщество.

Хочу задать вопрос следующего содержания. Хочу сделать примерно следующий функционал. Нужно чтобы при старте сервера включалась очередь которая обрабатывалась когда в нее что-то поступало. Как мне такое организовать? Что и от куда лучше класть чтобы такое работало.

Для наглядности приведу предполагаемый код.
Очередь будет примерно следующего содержания:

class ImportThread(Thread):
def __init__(self, import_product_query):
Thread.__init__(self)
self.import_query = import_query
self.total_imported = 0

def run(self):
time.sleep(10)
while True:
if self.import_query.total() > 0:
try:
import_data = self.import_query.get()
except Exception, e:
log.exception(e)
finally:
pass
time.sleep(0.5)
else:
time.sleep(10)

def get_status(self):
return (self.import_query.total(), self.total_imported)
Поток следующего:
class ImportQuery(object):  

def get(self):
pass

def total(self):
pass

def total_imported(self):
pass

def get_status(self, company_id, key_uniq=None):
pass



Офлайн

#2 Март 3, 2010 23:13:27

Evg
От:
Зарегистрирован: 2008-12-25
Сообщения: 346
Репутация: +  -1  -
Профиль   Отправить e-mail  

Django Thread

может лучше по крону?



Офлайн

#3 Март 6, 2010 21:30:25

pyOut
От:
Зарегистрирован: 2006-07-16
Сообщения: 125
Репутация: +  0  -
Профиль   Отправить e-mail  

Django Thread

lorien, что за софт? Это что-то Джанговское?



Офлайн

#4 Март 7, 2010 01:54:42

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Django Thread

pyOut
http://celeryproject.org/

или банальный крон, что есть проще. Ибо “Simple is better than complex.”

Офлайн

#5 Март 8, 2010 09:29:00

pyOut
От:
Зарегистрирован: 2006-07-16
Сообщения: 125
Репутация: +  0  -
Профиль   Отправить e-mail  

Django Thread

slav0nic, на сколько крон будет более эффективен/не эффективен по сравнение с тем же celeryproject?

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



Офлайн

#6 Март 8, 2010 12:18:02

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Django Thread

ну каждую секунду - глупо, но в целом да, я не знаю какие у тебя задачи и на сколько это критично.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version