2017-02-18 7 views
-1

Я собираюсь начать этот массивный проект. Использование php для серверной части mysql для базы данных. Очень важно, чтобы часть этого приложения продолжала работать на фоне, алгоритмах, обновляемой базе данных и т. Д. Даже если в системе нет ни одного. Как мне это достичь? Из личных исследований выяснилось, что я могу создать работу. Но я до сих пор не использовал это раньше, и есть ли способ, с которым можно работать, работать в бесконечном цикле?Запуск php-кодов на фоне

+5

Используйте cronjob: https://en.wikipedia.org/wiki/Cron, чтобы запустить его в определенное время. Или используйте работника-демона, если он должен выполняться все время. – zed

+0

Простейшим решением, вероятно, является использование cron. –

+0

Какая часть приложения должна работать все время? –

ответ

1

Сделать PHP-файл, который вы хотите запустить в фоновом режиме

say automate.php 

сделать хрон работу, которая проходит каждые 30 минут (JUST пример) с использованием кронтаб -e и редактировать, как показано ниже

0/30 * * * * /path/php automate.php 

Удостоверьтесь, что php определен в вашем PATH

0

@olu Самый простой способ заставить PHP-код запускать снова заново - это установить его внутри цикла, который никогда не заканчивается и запускает команду в безголовом Режим. Вы можете иметь цикл PHP, который выглядит как:

public function loop(){ 
    //Do you stuff here. 
    sleep(30); // Wait for 30 seconds. 
    loop(); 
} 
loop(); 

При запуске файла, который вызывает этот цикл она никогда не закончится. Это позволит достичь того, чего вы хотите, но это не лучший способ выполнить эту задачу.

В unix/linux есть планировщик заданий/задач с именем cron. http://www.unixgeeks.org/security/newbie/unix/cron-1.html Это может быть немного сложно узнать поначалу, но есть много примеров того, как планировать работу cron. В идеале это было бы лучшим решением, а затем бегущей петлей.

Надеюсь, это поможет.

Смежные вопросы