• hpt lock

    From Nil A@2:5015/46 to Stas Mishchenkov on Mon Jul 11 02:45:40 2022
    Hello, Stas!

    Tuesday July 05 2022 09:21, from Stas Mishchenkov -> Michael Dukelsky:

    Если ты сделаешь скрипт, срабатывающий, когда тоссится почта, то
    он с большой вероятностью искорёжит базу сообщений. адо ждать
    окончания тоссинга. Максимальное время ожидания задаётся
    параметром AdvisoryLock в конфиге hpt.
    Вот именно так у меня иногда hpt post и не дожидается.

    Лок на весь хаски - это удобство для программиста хаски, но по факту костыль. Как когда-то в ядре линукса был глобальный лок, до изобретения приемшена. Как до сих пор в питоне ГИЛ всю многопоточность портит, возможно в каком-нибудь питон4 переделают.

    Лок на весь хаски - это значит параллельно не запустишь хаски как эхотоссер, и отдельно треккер? адо их запускать последовательно из скрипта, и быть уверенным, что ни из крона, ни из бинка, по прибытию файлов, не запускается ещё хаски?

    Между хаски и читалкой, в лице голедеда, например, лок на уровне базы отрабатывает нормально - можно одновременно растоссивать в эху, и а в эту же эху постить из голдеда, и база не поломается.

    Между хаски и БСО-совместимым мейлером, например, тоже локи на линк отрабатывают нормально - хаски знает, что нельзя натоссивать бандлы на активный линк.

    Так от чего защищает лок хаски? От самого себя, проверяя там всякие очереди на автоматическую отписку на эхи и пр? Или он считает, что всё что во временном каталоге - это только он может трогать как угодно, потому что он там один запущен? Уже сегодня хаски, когда берёт бандл из инбаунда, он его переименовывает атомарно и дальше с ним работает, так то проблемы нет.

    Best Regards, Nil
    --- GoldED+/LNX 1.1.5
    * Origin: Linux 2.6.32-042stab145.3 (2:5015/46)