Реклама на сайте Advertise with us

Запускать консольный php раз в 1 сек без дублей?

Расширенный поиск по форуму
 
Новая тема Новая тема   
Автор
Поиск в теме:

📈sflash.biz

С нами с 03.11.12
Сообщения: 3912
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 12/02/17 в 19:02       Ответить с цитатойцитата 

Подскажите, как консольный php скрипт можно запускать с чатотой 1 секунда или реже, но только если старый запуск ещё не отработал?

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 12/02/17 в 19:10       Ответить с цитатойцитата 

что за извращение такое? icon_smile.gif
возможно поможет решение через php daemon smail101.gif

8
 

Soul's Buyer

С нами с 16.11.05
Сообщения: 12702
Рейтинг: 10740


Передовик Master-X (16.10.2008) Передовик Master-X (01.11.2008) Передовик Master-X (16.11.2008) Передовик Master-X (01.12.2008) Передовик Master-X (16.12.2008) Ветеран трепа Master-X (01.01.2009)
Ссылка на сообщениеДобавлено: 12/02/17 в 19:26       Ответить с цитатойцитата 

А "ещё не отработал" на "уже отработал" точно не нужно в вопросе изменить? icon_smile.gif

Cdn быстро, надёжно и недорого!

9
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3912
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 12/02/17 в 21:56       Ответить с цитатойцитата 

Цитата:
или реже, но только если старый запуск ещё не отработал

вот так верно!
Т.е. реже 1 секунды только в том случае, если не успел отработать предыдущий.

0
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3912
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 12/02/17 в 21:58       Ответить с цитатойцитата 

ibiz писал:
что за извращение такое? icon_smile.gif
возможно поможет решение через php daemon smail101.gif

Ну, предположим, запустил я его демоном, а в демоне цикл вечный поставить?
ХЗ, тогда в чём разница, если без демона запустить этот же php?..

0
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 12/02/17 в 22:29       Ответить с цитатойцитата 

S_Flash писал:
Ну, предположим, запустил я его демоном, а в демоне цикл вечный поставить?
ХЗ, тогда в чём разница, если без демона запустить этот же php?..


идея не совсем такая,
ты запускаешь консольный php скрипт с чатотой 1 секунда или реже,
чтоб он что-то делал/выполнял, верно?
так вот тоже самое может выполнять php daemon, с оптимальным потреблением памяти, контролем и проверкой результатов исполнения твоего кода
только возьми готовый фреймворк, ибо с самопальным вечным циклом сожрешь весь CPU

8
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3912
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 12/02/17 в 22:40       Ответить с цитатойцитата 

ibiz писал:
идея не совсем такая,
только возьми готовый фреймворк, ибо с самопальным вечным циклом сожрешь весь CPU

А есть что-то из конкретного?

0
 



С нами с 21.10.09
Сообщения: 267
Рейтинг: 408

Ссылка на сообщениеДобавлено: 12/02/17 в 22:54       Ответить с цитатойцитата 

S_Flash писал:
А есть что-то из конкретного?


Внезапно phpdaemon smail101.gif

Парсинг сайтов, магазинов, любые форматы данных. Контакты: skype - rulerseo, telegram - rulerseo

8
 



С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010


Передовик Master-X (16.03.2006) Передовик Master-X (01.04.2006) Передовик Master-X (16.04.2006) Передовик Master-X (01.05.2006) Передовик Master-X (01.11.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 12/02/17 в 23:07       Ответить с цитатойцитата 

MattCutts писал:
Внезапно phpdaemon smail101.gif


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

0
 



С нами с 19.11.02
Сообщения: 95
Рейтинг: 218

Ссылка на сообщениеДобавлено: 12/02/17 в 23:56       Ответить с цитатойцитата 

Код:
while sleep 1; do php -q yourphp.php args; done

и все это в скрине

1
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3912
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 17/02/17 в 22:29       Ответить с цитатойцитата 

А что быстрее работает баш или консольный php?

Смысл подобрать язык, технологию или фреймворк для написания бота отслеживающего данные из некого удалённого https api и сохранять его в mysql базу (можно другую базу). Частотата запросов примерно 1 в секунду или реже, если оттвечающая сторона тупит.
За что ухвататиться?

0
 

www.phpdevs.com

С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105


Передовик Master-X (01.09.2005) Передовик Master-X (16.09.2005) Передовик Master-X (01.10.2005) Передовик Master-X (16.08.2006) Передовик Master-X (16.10.2006) Ветеран трепа Master-X ()
Ссылка на сообщениеДобавлено: 17/02/17 в 22:39       Ответить с цитатойцитата 

S_Flash писал:
За что ухвататиться?

за демона, запущенного один раз, висящего в памяти и периодически опрашиваюшего клиента. А так как работа с базой, то явно php лучше. Но вот точно ли надо каждую секунду опрашивать ?

Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.

8
 

📈sflash.biz

С нами с 03.11.12
Сообщения: 3912
Рейтинг: 4447


Передовик Master-X (16.04.2018) Передовик Master-X (16.07.2018) Передовик Master-X (16.12.2022) Передовик Master-X (01.01.2023)
Ссылка на сообщениеДобавлено: 17/02/17 в 23:09       Ответить с цитатойцитата 

Stek писал:
за демона, запущенного один раз, висящего в памяти и периодически опрашиваюшего клиента. А так как работа с базой, то явно php лучше. Но вот точно ли надо каждую секунду опрашивать ?

там чем чаще, тем лучше - это биржа.

0
 



С нами с 29.06.15
Сообщения: 19
Рейтинг: 32

Ссылка на сообщениеДобавлено: 19/02/17 в 22:07       Ответить с цитатойцитата 

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

Код:

$file_name = basename(__FILE__);

if (file_exists($file_name.'.lock'))
{
    $pid = file_get_contents($file_name.'.lock');
    $cmd = 'kill -s 0 '.$pid.' 2>&1';
    exec($cmd, $output, $return_var);
    if (empty($output))
    {
        echo 'process is still running: '.$pid."\n";
        die;
    }
}
$pid = getmypid();
file_put_contents($file_name.'.lock', $pid);
echo 'starting new script instance: '.$pid."\n";

9
 



С нами с 19.11.02
Сообщения: 95
Рейтинг: 218

Ссылка на сообщениеДобавлено: 20/02/17 в 07:44       Ответить с цитатойцитата 

victorsp, в кроне емнип нет посекундного запуска. по крайней мере в дефолтном.
возвращаясь к своему совету, так сказать дополнение.
в deb линуксах есть десятичный sleep, т.е. sleep 0.2 например
Код:
while sleep 0.2; do php -q yourscript.php args; done

значения меньше 0.2 начинают пригружать IO, хотя в один поток надо экспериментировать.
из плюсов метода, скрипт будет запущен всегда только один.
из минусов, если скрипт завис то всё, капут. надо перезапускать.
хотя зависание скрипта - как правило существоавние неких sleep внутри и бесконечных циклов. во всех остальных случаях переменная времени жизни скрипта может прибивать его работу
Код:

<?php
set_time_limit(5); // 5 секунд
остальной код
?>

и не даст скрипту зависнуть.

10
 
Новая тема Новая тема   

Текстовая реклама в форме ответа
Заголовок и до четырех строчек текста
Длина текста до 350 символов
Купить рекламу в этом месте!


Перейти:  



Спонсор раздела Стань спонсором этого раздела!

Реклама на сайте Advertise with us

Опросы

Рецепт новогоднего блюда 2022



Обсудите на форуме обсудить (11)
все опросы »