Вопрос по крону (ЛАЙКБК)

k880TR

Интересующийся
📜
Сообщения
70
Реакции
11
Всем привет, подскажите пожалуйста, я на форуме прочитал, что для работы ботов в боях нужно настроить крон. В описании увидел команду:
* * * * * php -f /var/www/legbk/data/www/legbk.org/cron_bot_core.php; /bin/sleep 7;php -f /var/www/legbk/data/www/legbk.org/cron_bot_core.php; /bin/sleep 7;php -f /var/www/legbk/data/www/legbk.org/cron_bot_core.php; /bin/sleep 7;php -f /var/www/legbk/data/www/legbk.org/cron_bot_core.php; /bin/sleep 7;php -f /var/www/legbk/data/www/legbk.org/cron_bot_core.php; /bin/sleep 7;php -f /var/www/legbk/data/www/legbk.org/cron_bot_core.php; /bin/sleep 7;php -f /var/www/legbk/data/www/legbk.org/cron_bot_core.php; /bin/sleep 7;php -f /var/www/legbk/data/www/legbk.org/cron_bot_core.php; >/dev/null 2>&1

Кто может подсказать для чего нужно каждую минуту дергать этот скрипт и как я понял раз в 7м секунд он выполняется с паузой чтоли? Для чего каждую минуту скрипт дергать раз 7? Что это дает? Так же вопрос, где то по середине боя боты начинают тупо пропускать ходы друг от друга, почему такое может случаться?
 

Insallah

¯\_(ツ)_/¯
🏆
📜
Сообщения
1,483
Реакции
452
Поздравляю, падаван, начав задавать эти вопросы ты открыл для себя непростой путь оптимизации.
По пути ты найдёшь ответ на вопрос, почему такой просто скрипт тупит на каждом втором хостинге, что под него выделяют отдельные железки.
 

oxy

Продвинутый
🏆
📜
Сообщения
416
Реакции
92
Очень блядский код)))
В теории может быть проблема в том что крон выполняет этот скрипт дольше минуты, в итоге каждую минуту запускает новый процесс который висит паралельно и делает свои дела. Вообще это страшная дичь по тому что такой подход может начать запускать скрипт который уже что то делает и "перебивать друг друга". И наплодить их столько, что у тебя сервер ляжет))))

1) Замеряй время выполнения скрипта /var/www/legbk/data/www/legbk.org/cron_bot_core.php. Если все 9 вызовов тянут больше времени чем 60 сек - переходи к пункту 2. Вообще лучше в любом случае переходить к п.2)))
2) добавь туда блокировку. Хоть самую простую. Типа flock. Первый процесс запускается получает блокировку. Второй процесс запускается - видит что есть блокировка и пропускает свое выполнение. Получается примитивная очередь
3) лучше не переводить логи вывода в /dev/null, так ты будешь понимать хоть что не так и какие ошибки выдает твой код...
 
Последнее редактирование:

k880TR

Интересующийся
📜
Сообщения
70
Реакции
11
Спасибо за совет, то, что написано по блядски я вижу это на графике загрузки сервера. Ты имеешь ввиду сделать что-то вроде такого:
PHP:
if(flock('/var/www/legbk/data/www/legbk.org/cron_bot_core.php')){
    die();
}
 

Sheyx_Baba

Постигающий
📜
Сообщения
167
Реакции
27
Спасибо за совет, то, что написано по блядски я вижу это на графике загрузки сервера. Ты имеешь ввиду сделать что-то вроде такого:
PHP:
if(flock('/var/www/legbk/data/www/legbk.org/cron_bot_core.php')){
    die();
}
Не заморачивайся Кроном.тебе нужно новую функцию переписать для ботов ато то что есть в скрипте это говно..боты не используют приемы....иногда попадают в АФК не бьют друг друга хоть и крон работает кароче фигня там
 
Внимание! Эта тема устарела на 237 дней.
Тут обсуждать нечего, лучше создай новую тему. Конечно, если очень-очень нужно (например хочешь ответить на древний вопрос), то отвечай. Но помни: некропост — зло, а модератор не дремлет!
Сверху