Есть ли способ, чтобы какой-то метод работал каждый 1 час в php?

Например, у меня есть функция, которая делает скриншот google.com и сохраняет результат в базе данных. Я хочу, чтобы он работал каждые 24 часа, и не знаю, как это сделать .
Я имею в виду что-то классное, например триггер в javascript. пример в js:

function ChangeDate() {
    var changedate = ScriptApp.newTrigger('tOdAy')
      .timeBased()
      .everyDays(1)
      .create();
}

Я пробовал sleep(time) раньше в цикле while(true), но это не сработало.

function ss(){
Mycode();
}
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать 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
0
35
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете сделать это двумя способами:

Во-первых, нужно создать простой скрипт, который делает это, и выполнить его с помощью задания cron. Легко и просто.

Другой - создать длительный скрипт. Идея состоит в том, что вы создаете цикл, и внутри этого цикла вы вызываете тайм-аут, а затем выполняете свою функцию. Вы можете использовать reactphp/event-loop для реализации этого очень легко, если вы используете композитор. Просто проверьте EventLoopInterface::addPeriodicTimer метод.

Имейте в виду, что вы должны поддерживать этот длительный процесс с помощью некоторых инструментов, таких как systemd или supervisord.

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