Автономно работающий на хостинге .php

84
06 апреля 2022, 19:50

Есть хостинг reg.ru, есть сайт(пока не залит), суть в том, что есть .php файл который обновляет значение элементов в .json который лежит рядом с ним, это обновление происходит по алгоритму: к первому элементу +2, ко второму элементу +3 и к третьему элементу +7756. Как вариант было решение создать cron задачу, но обновление .json нужно делать каждые 5 секунд(cron позволяет выполнить скрипт лишь один раз за 10 минут). Как сделать так чтобы, .php выполнялся раз за 5 секунд или сделать его автономным и кодом установить интервал на повторение?

P.S. после обновления значения в .josn, обновленные данные забирает javascript

Answer 1

Почему cron позволяет один раз в 10 минут? От 1 минуты. * * * * * php /путь_к_файлу будет выполнять каждую минуту.
Раз в 5 секунд можно создав несколько записей в cron:

 * * * * * php myscript.php
 * * * * * sleep 5 && php myscript.php
 * * * * * sleep 10 && php myscript.php
 * * * * * sleep 15 && php myscript.php
 * * * * * sleep 20 && php myscript.php
 * * * * * sleep 25 && php myscript.php
 * * * * * sleep 30 && php myscript.php
 * * * * * sleep 35 && php myscript.php
 * * * * * sleep 40 && php myscript.php
 * * * * * sleep 45 && php myscript.php
 * * * * * sleep 50 && php myscript.php
 * * * * * sleep 55 && php myscript.php

Раз в 5 секунд можно ещё таким способом

#!/bin/sh
while true; do
/usr/bin/php /путь_к_файлу "cron"
sleep 5
done

или в самом скрипте :

 while( true ) {
        // function();
        sleep( 5 );
    }

Ешё как вариант - запускать через js+ajax используя setinterval

Дополнительно можно использовать демоны на сервере для запуска.

Или уж совсем экзотично

<?php
...
echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"5; URL=название_файла\">"
?>
READ ALSO
Как отправить параметр URL на сервер?

Как отправить параметр URL на сервер?

В URL есть параметр "clickid": https://domaincom/index

167
Как создать свой middleware для работы async запроса и redux?

Как создать свой middleware для работы async запроса и redux?

Помогите понять в чём проблема, когда я пишу mapDispatchToProps так:

165
Отправка в начало страницы при перезагрузки

Отправка в начало страницы при перезагрузки

Нужно добавить скрипт в React приложение, что бы при перезагрузки страницы откидывало в начало страницыТак в приложении фиксится много багов...

92
Как релизовать каскадное удаление в данном случае?

Как релизовать каскадное удаление в данном случае?

Нужно реализовать возможность системы подписок с помощью ef core 31

184