mysql — разрешить параллельный запуск php-скрипта

Существует около 10 запросов к php-скрипту за одну минуту, и требуется выполнять один расчет каждую минуту. Я не могу использовать cron.
Так я и сделал:
Если время последнего расчета старше 60 секунд, выполните:

  • Сохраните время последнего расчета в MySQL перед расчетом
  • Сделать расчет
  • Сохранить последний расчет после завершения расчета.

Проблема: если два (или дерева) запроса выполняются одновременно, выполняются два (или дерева) вычисления.

РЕДАКТИРОВАТЬ: Как сделать прогон вычисления только раз в минуту? Я есть какой-либо способ в PHP, чтобы узнать, сколько раз в настоящее время работает скрипт?

0

Решение

Прежде всего, я бы использовал cron 🙂 Я понимаю, что вы не можете.

Попробуйте это, когда вы обнаружите, что вычисление старое, установите общий флаг, который выполняется, чтобы другие вычисления не начались, но он будет использовать старое значение. Когда вы закончите обновить значение, уберите флаг.

В основном, когда выполняется вычисление, никто другой не запустится, и вы устраните проблему параллелизма.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]