Я ищу решение для завершения скрипта (может быть написано на PHP или Python) раньше, чем через час (например, всегда до 2:00 ночи). Запуск скрипта (cron) каждый день в 0:00.
Итак, скрипт должен работать максимум 2 часа.
Но повседневные данные меняются, будут расти, и скрипту потребуется больше времени, чем 2 часа. Конечно, скрипт должен анализировать данные целиком.
Есть ли какое-то решение для запуска этого скрипта в партиалах, зеркалах, многопоточности, вычислительной мощности облаков?
@syntaqx Я не знаю, как долго мой скрипт будет работать, но я бы хотел, чтобы вся работа была завершена до 2:00 ночи.
Что, если он не закончен? В любом случае подходов может быть много, но сначала вы должны определить, какой результат является приемлемым. И, как упоминалось выше, в настоящее время у вас есть два противоречащих друг другу требования!
Что, если он не закончен? В любом случае подходов может быть много, но сначала вы должны определить, какой результат является приемлемым. И, как упоминалось выше, в настоящее время у вас есть два противоречащих друг другу требования!






Я думаю, что в конечном итоге вы, вероятно, ищете функцию PHP set_time_limit($seconds). С помощью математики вы можете настроить это:
set_time_limit(2 * 60 * 60); // 2 (hours) * 60 (minutes) * 60 (seconds)
Однако вам нужно быть уверенным, что PHP может работать так долго с фактически, также убедившись, что для вашего max_execution_time() также установлено такое же значение как минимум.
Кроме того, установка этих значений в PHP не обязательно отменяет их от вас php.ini. В зависимости от вашей среды вам нужно будет либо установить эти значения, либо иметь возможность устанавливать их во время выполнения.
Note: Be sure to check out the php.net comments about the way this functionality works, as it's not entirely transparent. For example,
sleep(n)will be ignored in the execution time, and so your script will beset_time_limit(n) + sleep(n)runtime.
В этом вопросе есть два противоречивых момента. Вы запрашиваете код, который остановит ваш скрипт через два часа, но каждый день может потребоваться более двух часов.