Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/61: Рейтинг темы: голосов - 61, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 07.02.2010
Сообщений: 1,063

Разработка Собственной Очереди Сообщений

17.05.2012, 19:50. Показов 11752. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Вот возник очередной философский вопрос.

Есть офис с небольшим почтовым трафиком (максимум 1000 исх. писем в день; обычно неск. сотен) и с ОЧЕНЬ хилым каналом. Соответственно, периодически возникают затыки с лотусовой почтой: скажем, человек отправил 10 писем по 5 МБ каждое - и все, канал забит...

Политиццки вопрос не решить - люди шлют "большие" письма, в основном, по делу.
Ограничить объем? Задолбаются разбивать rar ом на N частей (да и все равно же будут все части подряд отправлять). Выставлять лотусовые приоритеты в серверных правилах? Опять же, большие письма нужны тоже не ночью, а в раб. время...

Возникла мысль - все иcх. письма загонять серверным правилом в некую базу. Далее для этой базы написать шедульного агента. Он расставляет письмам приоритеты в зависимости от отправителя, получателя, размера и т.п. И потом некими порциями - по приоритету! - их "пропихивает" назад в mail.box. К ОПРЕДЕЛЕННЫМ задержкам при отправках (скажем, агент будет пробегать по базе раз в 5-10 мин) они готовы - главное, чтоб, грубо гря, письма размером в 10К от гендиректора уходили в ПЕРВУЮ очередь. Ибо сейчас эти письма зачастую висят в mail.box часами...

Вот сижу и думаю - будет ли это ВООБЩЕ работать? Мож, кто решал подобные задачи? Подскажите, плиз.

ЗЫ. Условие - надо сделать ИМЕННО и ТОЛЬКО на чистой Домине. Т.е., отправка всем писем, скажем, на некий сторонний "SmartHost с умной очередью" или использование стороннего софта под Домину не годидзе :-(
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.05.2012, 19:50
Ответы с готовыми решениями:

Очереди сообщение (создание очереди из N сообщений)
Нужна помощь в создании очереди из n сообщений как создать простую очередь я знаю но как указать конкретное возможное количество...

Разработка собственной CMS-системы
Всем привет! Работаю над дипломом, тема которого "CMS-система для веб-студии". Как пример, добавляю информацию об автомобилях. ...

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

10
0 / 0 / 0
Регистрация: 04.11.2007
Сообщений: 3,019
17.05.2012, 21:08
делал подобное работает
вот только если гендиректор напишет эти самые 5Мб всё будет как и раньше
а так да, пожно перекрутить маршрутизацию начисто
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
17.05.2012, 22:13
отцепляем файло, шифруем, кладем на общий диск, линк вместо аттача...
0
0 / 0 / 0
Регистрация: 15.03.2009
Сообщений: 615
17.05.2012, 23:31
я в общем не эксперт в доминошной почте, но решал похожую задачу для http трафика. оно в принципе рулица средствами ОС:
трафик шейпер на внешнем интерфейсе плюс настройка отправки в 5-10 потоков. см "Maximum concurrent transfer threads"
Т.е. выделяем например половину канала под исходящий на 25 порт, для этой половины включаем какой-нить RED и вперед: у вас гарантировано сможет идти отправка 10 писем одновременно, причем трафик будет делиться относительно равномерно между ними

а без управления трафиком на внешнем интерфейсе есть вариант, что какой-нить юзер забьет канал тупой заливкой фоток на одноклассники.
Т.е. недостаточно шейпить smtp - необходимо выделить гарантированную полосу под него.

[updated] к самописному планировщику есть вопросы: что делать, если ваш письмо от генерального упало в планировщик в момент, когда пятиметровый слон уже отправляется и успел занять канал? Т.е. возможна ситуация, когда в планировщике только слоны и он(планировщик) вынужден поставить одного из них на отправку. А через пять ( десять, пятнадцать ) минут в планировщик падает то самое письмо от генерального... Дропать слона в mail.box? А ведь он мог уже наполовину уйти.
0
0 / 0 / 0
Регистрация: 07.02.2010
Сообщений: 1,063
20.05.2012, 11:37
Спасибо за ответы.


настройка отправки в 5-10 потоков
Это сделано, но против "стада слонов" помогает плохо :-(


что делать, если ваш письмо от генерального упало в планировщик в момент, когда пятиметровый слон уже отправляется и успел занять канал?
Тут главная задача (как мне видится) - отправив "слона", не отправлять ему в хвост других "слонов" и "слонят". Т.е., "помнить", что "слон" уже заслан и в параллель ему пропихивать, скажем, только 10К-письма...
Меня, честно гря, пугает регулярное копирование писем из моей очереди в mail.box. По 1-2 я и сам агентами в нем создаю - а вот ежели раз в 5 минут это делать? Router не загнется ли?... ;)
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
20.05.2012, 11:49
вопрос ровно в одном - отчего тако размер? ;)
зная "идиотов", кот. пихают рисунки или сложные отчёты (хехель на десятки тыс. строк) могу предположить :lol:
уяснив причину - можно "попытаться" решать иначе задачу...:
-урезание документов (уменьшить картинки)
-отображение на стороне сервера (возвращаемся к вопросу линков) и движка отображения
0
RoJ
20.05.2012, 12:05
может для начала понизите приоритет для больших писем с помощью настройки


Send all messages as low priority if the message size is between:
в конфиге сервера?
0 / 0 / 0
Регистрация: 07.02.2010
Сообщений: 1,063
20.05.2012, 13:17
возвращаемся к вопросу линков
Дык отправляют в др. офис - общий диск с линками не прокатит. Создать некую общую базу и ее реплицировать? Тоже вот думаю на эту тему...



send all messages as low priority if the message size is between:
Не нравится то, что надо указывать определенный диапазон для low priority. Т.е., канал-то забивается только иногда, бОльшую часть времени он вполне доступен. Если отправлять низкоприоритетников ночью, получим дневной простой в работе
0
RoJ
20.05.2012, 13:30
Цитата Сообщение от Мыш
Не нравится то, что надо указывать определенный диапазон для low priority. Т.е., канал-то забивается только иногда, бОльшую часть времени он вполне доступен. Если отправлять низкоприоритетников ночью, получим дневной простой в работе
необязательно её на ночь ставить, пусть отправляется целый день, пропуская остальные
0 / 0 / 0
Регистрация: 07.02.2010
Сообщений: 1,063
20.05.2012, 13:52
пусть отправляется целый день, пропуская остальные
Полагаете, должен пропускать? Хмм, спасибо, попробую...
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
20.05.2012, 14:06
Дык отправляют в др. офис - общий диск с линками не прокатит.
несовсем так :lol: - ставим DFS (виндовый) или rsync
ведь такой объем не генерят с нуля
конечно луче распределённую ФС с дедупликацией, но это из нереальной области для офиса ;)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
20.05.2012, 14:06
Помогаю со студенческими работами здесь

Статистика из очереди сообщений
Ребят, выручайте. Я SQL вообще не знаю, а задание надо сделать, дедлайн скоро. Сижу, читаю, но никак не могу понять, как правильно сделать....

Клиенты и сервера. Очереди сообщений.
Задача на С: Существуют два клиента и 1 сервер Клиенты читают строки из файла, причём: клиент 1 читает 2n+1 строки клиент 2...

Очереди сообщений в Linux ubuntu
Здравствуйте, есть две програмулины. Программа client читает данные (числа) из файла и посылает их как сообщение программе server....

Rabbitmq удаление прочитанных сообщений из очереди
Имеется приложение на python, которое принимает сообщения и отправляет их в очередь rabbitmq. Несколько обработчиков, их количество не...

Как получить количество сообщений в очереди???
Мне нужно получить количество сообщений в очереди и если это количество больше 100, то отправить админу на почту сообщение о большом...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru