Задать вопрос
@radik2806

Как запускать функцию строго в указанное время с точностью до минуты, при том что время лежит в базе и нагружать базу нельзя?

Есть сервис для работы с vk.com. Если вкратце, юзеры добавляют в базу посты. Так же юзеры указывают по какому расписанию постить эти посты, например раз в день в 14.00. То есть в базе лежит timestamp с датой, когда пост должен уйти.

Нужно придумать как запускать функцию постинга строго в указанное время с точностью до минуты.
Ставить скрипт в крон, который будет каждую минуту дергать базу не охота, слишком большая нагрузка будет. Рухнет база, рухнет весь сервис
Писать кучу заданий в крон, для каждого поста свое, тоже на вариант, уже пробовали, сервер вешается.

Единственно что пришло в голову более-менее адекватное, это создать другую базу на sqllite, с расписаниями. Таким образом снять нагрузку с основной базы. Но решение явно костыль.

Гуру высоких нагрузок, подскажите более изящный метод)
  • Вопрос задан
  • 235 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
Melkij
@Melkij
DBA для вашего PostgreSQL?
Если один запрос в минуту из крона - это слишком большая нагрузка, то проблема у вас где-то в другом месте.
Ответ написан
Комментировать
@jaxel
Ставить скрипт в крон, который будет каждую минуту дергать базу - как раз то, что вам и нужно. Никакой нагрузки на базу это не даст. Там же простейший селект по одной таблице.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
IT ATLAS Москва
от 250 000 до 500 000 ₽