PHP PECL SYN C и синхронизация в режиме CLI - PullRequest
0 голосов
/ 02 апреля 2020

У меня проблема с библиотекой PECL SYN C (https://www.php.net/manual/en/book.sync.php) и SyncReaderWriter Class в режиме CLI.

Каждую минуту я выполняю через cron несколько PHP процессов CLI, каждый процесс пытается заблокировать чтение, используя один и тот же ключ для чтения некоторой кэшированной информации.

К сожалению, почти каждую минуту некоторые из процессы зависают при блокировке чтения до истечения тайм-аута (30 секунд), а блокировка чтения не проходит.

В то же время нет блокировки блокировки записи дольше, чем тайм-аут (30 с c), это очень быстрая операция : чтение блокировки, чтение значения кеша формы (от менее 1 мс до нескольких мс), разблокировка.

Кажется, что в режиме CLI (?) ограниченное количество блокировок чтения, которые могут быть получены, я не вижу до сих пор та же проблема с PHP процессами, порожденными PHP -FPM / Fast CGI, но это бета-система с низким трафиком c.

Вопрос: есть ли предел в PECL SYN C библиотека для числа для блокировок чтения, которые могут быть получены одновременно, это ограничение для только CLI или также для процессов CGI, и как решить эту проблему?

...