Всегда завершайте скрипт раньше, чем через час

Я ищу решение для завершения скрипта (может быть написано на PHP или Python) раньше, чем через час (например, всегда до 2:00 ночи). Запуск скрипта (cron) каждый день в 0:00.

Итак, скрипт должен работать максимум 2 часа.

Но повседневные данные меняются, будут расти, и скрипту потребуется больше времени, чем 2 часа. Конечно, скрипт должен анализировать данные целиком.

Есть ли какое-то решение для запуска этого скрипта в партиалах, зеркалах, многопоточности, вычислительной мощности облаков?

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

syntaqx 10.01.2019 11:09

@syntaqx Я не знаю, как долго мой скрипт будет работать, но я бы хотел, чтобы вся работа была завершена до 2:00 ночи.

kicaj 10.01.2019 14:26

Что, если он не закончен? В любом случае подходов может быть много, но сначала вы должны определить, какой результат является приемлемым. И, как упоминалось выше, в настоящее время у вас есть два противоречащих друг другу требования!

Ulrich Eckhardt 12.01.2019 07:34

Что, если он не закончен? В любом случае подходов может быть много, но сначала вы должны определить, какой результат является приемлемым. И, как упоминалось выше, в настоящее время у вас есть два противоречащих друг другу требования!

Ulrich Eckhardt 12.01.2019 07:34
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
51
1

Ответы 1

Я думаю, что в конечном итоге вы, вероятно, ищете функцию 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 be set_time_limit(n) + sleep(n) runtime.

Другие вопросы по теме