Форум сайта python.su
Вообщем есть некоторое действие которое дергается через аякс, у этого действия есть ноутификация по емайл, чтобы запрос не ждал отправки почты я пытаюсь вынести отправку в отдельный поток, но ничего не отправляется, те я подозреваю что завершается запрос и за ним питон схлопывает поток, а тот не успевает отправить емайл.. так ли это? подскажите как лучше делать?
выносить задачи в отдельную таблицу в бд, и запускать их кроном, либо можно както заставить не умирать поток все же..
def some_view(request):
...
def gogo():
send_mail(...)
from threading import Thread
t = Thread(target=gogo,args=())
t.start()
...
Отредактировано (Июнь 2, 2009 08:16:24)
Офлайн
Evgтолько так
выносить задачи в отдельную таблицу в бд, и запускать их кроном,
Офлайн
попробуй
t.setDaemon(True)
t.start()
Офлайн
почему-то не помогло(
хотя судя по документации
The entire Python program exits when no alive non-daemon threads are left.должно было помочь..
Офлайн
Вообщем все работает!
прсото внутри метода gogo использовал называние переменой t которая держит шаблон, а она потом переопредеоиоась
t = Thread(target=gogo,args=())
из-за этого выкидывалось исключение
Кстати работает и без setDaemon, но оставлю для спокойствия
Отредактировано (Июнь 2, 2009 12:51:44)
Офлайн