azabotok
@azabotok
online

Как реализовать? Надо каждые 5 секунд добавлять 1 в базу данных?

Помогите пожалуйста!
Как реализовать?
У меня есть сайт фотобаттлов. При нажатии на кнопку отправляется +1 в базу данных.
Как сделать так, что бы каждые 5 секунд в базу данных к числу прибавлялся 1 ?
  • Вопрос задан
  • 273 просмотра
Пригласить эксперта
Ответы на вопрос 2
OrlovEvgenii
@OrlovEvgenii
golang developer / DevOps
cron не подойдет от части
разве что наколхозить и
* * * * * for i in $(seq 1 10); do echo "another 5 sec"; sleep 5; done


Ну или
*/1 * * * * /home/www/index.php
А уже в php в цикле со sleep'ами, писать в базу.

Тут есть и минусы данного подхода.
- если в какой то момент выполнения скрипта одна из итераций(или многие) немного задежится, и в сумме за цикл это выйдет >5сек, то крон запустит второй экземпляр того же скрипта, не смотря на то, что первый еще не закончил выполнение.
Ответ написан
@Levhav
Возьмусь за разработку проектов любой сложности.
Можно сохранить время добавления записи и при выборке добавлять к рейтингу возраст записи в секундах делённый на 5

Что то такое:
select raate+(nowTime - addTime)/5 as traate from fotos;

И не мучить бд постоянным обновлением всех записей.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы