В настоящее время я пытаюсь исправить проблему в очереди проблем ядра Drupal , связанную с тайм-аутами, возникающими, когда кто-то посещает сайт во время выполнения поисковой индексации, довольно трудоемкая операция, которая обычно происходит при вызове команды cron (так что вполне вероятно, что это произойдет на живом сайте, хотя все еще доступно для общественности). Это связано с блокировкой записи SQLite при записи, что, как правило, не является проблемой, но в данном случае это связано с тем, что выполнение такой индексации значительно увеличивает вероятность того, что для соединения истечет время ожидания в ожидании снятия блокировки.
Ответ, похоже, заключается в увеличении времени, в течение которого водитель ожидает разблокировки блокировки. В PHP это возможно сделать, установив опцию PDO::ATTR_TIMEOUT
на количество секунд ожидания блокировки. Тем не менее, это не похоже на работу; тайм-ауты случаются независимо от того, какое значение они передают. Я не могу найти никаких упоминаний о том, что он не работает нигде в Интернете, так что, это только мы? Кто-нибудь еще сталкивался с проблемами при попытке увеличить время ожидания SQLite? Возможно, есть какой-то другой способ избежать этой проблемы?