forum.bitel.ru http://forum.bitel.ru/ |
|
Параллельное выполнение переобсчетов http://forum.bitel.ru/viewtopic.php?f=5&t=3526 |
Страница 1 из 1 |
Автор: | Cromeshnic [ 03 фев 2010, 15:32 ] |
Заголовок сообщения: | Параллельное выполнение переобсчетов |
Возникла проблема при переобсчете PPPoE-сессий за январь. Последовательность действий: - Пересчитали netflow по источникам в модуле DialUp, письмо с уведомлением об окончании пересчета пришло - Запустили переобсчет сессий за январь по всем договорам. По ошибке запустили его два раза с разницей в 3 минуты. Оба пересчета выполнялись параллельно, письма пришли почти одновременно. - Пересчитали максимальные трафики - При выставлении счетов обнаружили, что у многих клиентов, имеющих тарифы с предоплаченным пакетом трафика и платным трафиком за превышение пакета, в наработке выставились слишком большие суммы за превышение. - Ещё раз запустили переобсчет сессий, затем максимальные трафики - всё стало нормально Тот факт, что пересчет в первый раз был запущен параллельно мы сначала не заметили. Вопросы: Действительно такая проблема возникла из-за параллельного обсчета сессий? Как такое возможно и не нужно ли придумать защиту от этого на уровне кода? |
Автор: | Администратор [ 02 мар 2010, 16:07 ] |
Заголовок сообщения: | Re: Параллельное выполнение переобсчетов |
Да, проблема действительно могла возникнуть из-за этого. Насчёт защиты на уровне кода подумаем. |
Автор: | vdd [ 02 мар 2010, 20:13 ] |
Заголовок сообщения: | Re: Параллельное выполнение переобсчетов |
Вот ведь неоднократно писали, что процессы, запускаемые шедулером должны иметь механизмы типа мутексов, что бы исключить нежелательные наложения... Что "запустите второй процесс на час позже" - это мина замедленного действия, а не замена механизмам синхронизации... ![]() |
Автор: | Администратор [ 02 мар 2010, 20:15 ] |
Заголовок сообщения: | Re: Параллельное выполнение переобсчетов |
Да понятно так-то, только там проблема, что обсчёт может быть как по договорам А,Б,С параллельно по А и параллельно полный. А ещё параллельно могут быть переобсчёты в разных модулях, при этом они все правят общий баланс.. В общем, подумаем. |
Автор: | snark [ 02 мар 2010, 21:02 ] |
Заголовок сообщения: | Re: Параллельное выполнение переобсчетов |
думаю что подобную "защиту от дурака" проще реализовать административными методами, т.к. переобсчет может занять от секунды и выше - в зависимости от объема переобсчитываемого трафика ув. разработчики, для избежания подобных ситуаций, например если запущен переобсчет трафика пока не будет отправлено мыло с уведомлением об окончании проще всего сбрасывать повторный запуск уже запущенной задачи ну или ставить ее в очередь ... главное чтоб параллельно нельзя было одинаковые задачи запускать |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |