= Сообщение: 4979 из 5339 ========================================= RU.HUSKY = От : Nil A 2:5015/46 11 Jul 22 02:45:40 Кому : Stas Mishchenkov 11 Jul 22 02:45:40 Тема : hpt lock FGHI : area://RU.HUSKY?msgid=2:5015/46+62cb6cf2 На : area://RU.HUSKY?msgid=2:460/5858+62c3d91d = Кодировка сообщения определена как: CP866 ================================== ============================================================================== Hello, Stas!
Tuesday July 05 2022 09:21, from Stas Mishchenkov -> Michael Dukelsky:
MD>> Если ты сделаешь скрипт, срабатывающий, когда тоссится почта, то MD>> он с большой вероятностью искорёжит базу сообщений. Надо ждать MD>> окончания тоссинга. Максимальное время ожидания задаётся MD>> параметром AdvisoryLock в конфиге hpt. SM> Вот именно так у меня иногда hpt post и не дожидается.
Лок на весь хаски - это удобство для программиста хаски, но по факту костыль. Как когда-то в ядре линукса был глобальный лок, до изобретения приемшена. Как до сих пор в питоне ГИЛ всю многопоточность портит, возможно в каком-нибудь питон4 переделают.
Лок на весь хаски - это значит параллельно не запустишь хаски как эхотоссер, и отдельно треккер? Надо их запускать последовательно из скрипта, и быть уверенным, что ни из крона, ни из бинка, по прибытию файлов, не запускается ещё хаски?
Между хаски и читалкой, в лице голедеда, например, лок на уровне базы отрабатывает нормально - можно одновременно растоссивать в эху, и а в эту же эху постить из голдеда, и база не поломается.
Между хаски и БСО-совместимым мейлером, например, тоже локи на линк отрабатывают нормально - хаски знает, что нельзя натоссивать бандлы на активный линк.
Так от чего защищает лок хаски? От самого себя, проверяя там всякие очереди на автоматическую отписку на эхи и пр? Или он считает, что всё что во временном каталоге - это только он может трогать как угодно, потому что он там один запущен? Уже сегодня хаски, когда берёт бандл из инбаунда, он его переименовывает атомарно и дальше с ним работает, так то проблемы нет.
Best Regards, Nil --- GoldED+/LNX 1.1.5 * Origin: Linux 2.6.32-042stab145.3 (2:5015/46)