1. Dyadya Zed

    19.02.2008

    0 ↑
    0 ↓
    Здравствуйте!

    В ближайщем будущем предстоит написать небольшое приложение для управления рассылкой до 10000 сообщений раз в неделю (не спам). Что использовать для быстрой рассылки такого количества сообщений? Если делать отсылку формочкой, то браузер может отвалится по таймауту.
    Пока в голову приходит вызывать через кронтаб скрипт, который будет инициализировать окружение для Джанги забирать список емейлов для рассылки ну и отсылать адресатам сообщения..

    Есть еще какие-то идеи?

    Спасибо
  2. Ivan Sagalaev

    19.02.2008

    0 ↑
    0 ↓
    Да хорошая идея с cron'ом, чего уж.

    В качестве альтернативы могу предложить написать демон, который будет следить за директорией по вызову inotify, и будет отправлять письма, которые веб-процесс будет складывать в эту директорию в виде файлов. Но это, наверное, overkill :-)
  3. Dyadya Zed

    19.02.2008

    0 ↑
    0 ↓
    хмм, да, пожалуй :)

    Как бы приделать ко всему этому наблюдение за процессом рассылки: отправляется письмо № n, отправлено и т.д. Тут как я понимаю сигналы просятся?
  4. glader.livejournal.com

    19.02.2008

    0 ↑
    0 ↓
    Это же отделное приложение, мне кажется сигналы не помогут. Проще через текстовый лог общаться. Скрипт пишет в лог текущее состояние, веб-морда этот лог показывает.
  5. ero-sennin

    19.02.2008

    0 ↑
    0 ↓
    Имеет смысл общаться не через текстовый лог, а через отдельную таблицу в базе, так и данные читать-писать проще, и race condition-ов не будет.
  6. Ivan Sagalaev

    19.02.2008

    0 ↑
    0 ↓
    Да, обычно табличку в базе делают, которая олицетворяет собой очередь: отправленные письма удаляются, если были ошибки, они пишутся в отдельное поле в этой таблице.
  7. vitaly80.ya.ru

    04.03.2009

    0 ↑
    0 ↓
    Dyadya Zed, получилось отправлять сообщения? Как реализовали?

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.