WP способы управления общим списком и предотвращения гоночных условий? - PullRequest
0 голосов
/ 18 февраля 2020

Цель состоит в том, чтобы иметь список данных, подобных этому

["userA": "name1", "userB": "name2", "userC": "name3", "userD": "name4"]

Этот список будет изменен внешним вызовом функции API отдыха, и эти вызовы будут состоять из

  • добавить новую [A, B] пару или
  • удалить указанную c [A, B] пару

О том, делать ли это в файле сообщения или в В базе данных, я думаю, различия в скорости невелики, при условии, что я говорю о потенциально 1000 парах максимумов


Основная проблема IMO - это возможное состояние гонки, при котором одновременные вызовы пытаются изменить файл в то же время

Какие существуют способы предотвращения или смягчения этого?

  • Записать файл в начале, удалить в конце, если вызов найдет файл запускает сон-l oop повторную попытку несколько раз

  • То же самое, но создание и удаление папок, что может быть быстрее

  • Использование общей памяти, возможно, с использованием WP_Upgrader::create_lock функция

  • Возможно, с функциями сессии?

Есть мысли?

...