[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Подскажите по поводу сервера и модуля
Страницы: 1, 2
Dizzy
Вообщем расклад такой, у нас с приятелем есть онлайн игра для мобильных браузеров. Собственно нам нужно чтобы определенные команды (файлы) запускались очень часто: что то около раза в секунду. Я уже где то рыл инфу по этому поводу, начитал что нужен VDS свой с поддержкой модулей, там мы сможешь организовать это. Кто подскажет что рыть надо?

PS Крон разумеется рассматривали, но слишком большая нагрузка и нельзя очень часто его запустить
sergeiss
Если тебе надо на сервере что-то постоянно запускать, то можно использовать демон (daemon) - программу (скрипт) которая постоянно работает и что-то выполняет с определенной периодичностью.

Если не секрет - что именно запускаешь так часто? Возможно, можно изменить алгоритм и запускать пореже?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Dizzy
Надо запускать именно PHP код для работы с бд, он будет проходить по небольшому циклу и обновлять данные из бд
rooor
конечная цель какая?
при любом раскладе не вижу смысла каждую секунду дёргать базу да ещё и в цикле
Dizzy
Цитата (rooor @ 4.08.2014 - 17:15)
конечная цель какая?
при любом раскладе не вижу смысла каждую секунду дёргать базу да ещё и в цикле

Да вопрос не в этом совсем, я его задал в раздел не о помощи в коде, факт в том что это нужно делать, я лишь спрашиваю какими средствами, понимаете?
sergeiss
Цитата (Dizzy @ 4.08.2014 - 21:32)
факт в том что это нужно делать, я лишь спрашиваю какими средствами

Как я уже говорил, демон на ПХП может, в принципе, работать с этой задачей. Точнее говоря, на любом ЯП, умеющем работать с нужным типом БД.

Проблема только в том, как уже верно заметил rooor, что обычно не имеет смысла ежесекундно дергать БД. При большом количестве записей и/или при большом количестве обращений к БД эти ежесекундные запросы могут просто "убить" твою БД.

Чаще всего вдумчивое изменение алгоритма приводит к тому, что запросы отправляются реже smile.gif Например, в среднем раз в 20 секунд. И за один запрос ты делаешь те же изменения, что сделал бы за 20 ежесекундных запросов.

Поэтому вопрос вполне закономерен:
Цитата (rooor @ 4.08.2014 - 21:15)
конечная цель какая?



_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Dizzy
Цитата (sergeiss @ 4.08.2014 - 18:46)
Цитата (Dizzy @ 4.08.2014 - 21:32)
факт в том что это нужно делать, я лишь спрашиваю какими средствами

Как я уже говорил, демон на ПХП может, в принципе, работать с этой задачей. Точнее говоря, на любом ЯП, умеющем работать с нужным типом БД.

Проблема только в том, как уже верно заметил rooor, что обычно не имеет смысла ежесекундно дергать БД. При большом количестве записей и/или при большом количестве обращений к БД эти ежесекундные запросы могут просто "убить" твою БД.

Чаще всего вдумчивое изменение алгоритма приводит к тому, что запросы отправляются реже smile.gif Например, в среднем раз в 20 секунд. И за один запрос ты делаешь те же изменения, что сделал бы за 20 ежесекундных запросов.

Поэтому вопрос вполне закономерен:
Цитата (rooor @ 4.08.2014 - 21:15)
конечная цель какая?

В принципе, будет достаточно дергать бд даже не ежесекундно, а раз в 3-5 секунд. Можно линк об этом "Демоне"? Чтобы почитать более подробно
Игорь_Vasinsky
Цитата
а раз в 3-5 секунд

тут и крона хватит.

Цитата
PS Крон разумеется рассматривали, но слишком большая нагрузка и нельзя очень часто его запустить


запуск минимум с интервалом в 2 сек.
нагрузка??? ))) а почему она на демоне будет другая?
и в том и в другом случае работает один и тот же скрипт - ваш скрипт.

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Dizzy
Цитата (Игорь_Vasinsky @ 4.08.2014 - 19:22)
Цитата
а раз в 3-5 секунд

тут и крона хватит.

Цитата
PS Крон разумеется рассматривали, но слишком большая нагрузка и нельзя очень часто его запустить


запуск минимум с интервалом в 2 сек.
нагрузка??? ))) а почему она на демоне будет другая?
и в том и в другом случае работает один и тот же скрипт - ваш скрипт.

Как запустить крон менее раза в минуту? юзая sleep?
Dizzy
вопрос открыт smile.gif
rooor
Цитата
конечная цель какая?

мой тоже =)
inpost
Dizzy
Крон запустил.
В нём
for($i=1; $i<60;$i++) { // 60 раз будет код
И всё. Добавь проверку времени. А ещё лучше:
while(true) { // бесконечно ходить по кругу. Но внутри делаешь проверку на время, если 1 секунда прошла, то выполняешь код, а если нет - ждёшь через sleep(1). И как только 60 секунд отработает - вырубаешь, так как Крон уже новый запустил.

А в целом, надеюсь это не добавление денег каждую секунду, так как такие задачи решаются несколько иначе smile.gif

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Dizzy
Цитата (inpost @ 6.08.2014 - 19:24)
Dizzy
Крон запустил.
В нём
for($i=1; $i<60;$i++) { // 60 раз будет код
И всё. Добавь проверку времени. А ещё лучше:
while(true) { // бесконечно ходить по кругу. Но внутри делаешь проверку на время, если 1 секунда прошла, то выполняешь код, а если нет - ждёшь через sleep(1). И как только 60 секунд отработает - вырубаешь, так как Крон уже новый запустил.

А в целом, надеюсь это не добавление денег каждую секунду, так как такие задачи решаются несколько иначе smile.gif

Так в этом то и дело, что провекра произойдет только с обновлением страницы, а нужно чтобы это всё делалось в фоновом режиме, в независимости от того будет ли она обновлена. Именно поэтому нужно запускать крон реже в минуту. А если крон такое не может, то вот я интересуюсь какими еще средствами можно выполнять файл раз в несколько секунд...
Dizzy
Цитата (rooor @ 6.08.2014 - 19:06)
Цитата
конечная цель какая?

мой тоже =)

секрет фирмы ph34r.gif
ну а если серьезно, то это просто напросто не важно, потому что интересует решение только этим путем, никакие другие алгоритмы действий быть рассмотрены не могут :-(
jetistyum
Вообще-то PHP умеет работать и отдельно, без веб-сервера и "страниц"
php -f filaname.php
И всеже у меня тоже возникает сомнение в необходимости такого алгоритма.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.