Ответы пользователя по тегу Yii
  • Как организовать свой порядок сортировки в YII2?

    @justpusher
    Обычно используют отдельное поле, order или position, и отдельно его заполняют. Если только средствами ORM - то только beforeSave/afterSave (мне больше нравится первое). Если можете написать свой запрос для сохранения - можете решить одним запросом INSERT с подзапросом.

    Если очень хотите средствами ORM и одним запросом - можете в поле order вставлять текущую дату-время с микросекундами. Но это извращение, я считаю. Нет ничего страшного в двух запросах.
    Ответ написан
    Комментировать
  • Какой тип мьютекса использовать?

    @justpusher
    Если все процессы на одном сервере - лучше использовать flock, он проще и надёжнее.
    Например, в случае рестарта mysql или потери соединения с ним по другой причине - вы теряете блокировку, полученную GET_LOCK, но можете про это и не узнать.
    Если же вам нужно получать блокировки на разных серверах, то GET_LOCK может выручить. Но внимательно ознакомьтесь с подводными камнями. Например, в старых версиях mysql повторный вызов GET_LOCK отменяет предыдущие блокировки, а в новых - получает новые блокировки параллельно.

    P.S. если вам блокировка нужна для выполнения простых действий в таблице, типа выборки нового задания для обработки, используйте SELECT FOR UPDATE.
    Ответ написан