За последние 24 часа нас посетили 22995 программистов и 1233 робота. Сейчас ищет 831 программист ...

Как реализовать постоянную проверку данных

Тема в разделе "PHP для профи", создана пользователем AlexandrKulik, 1 авг 2020.

  1. AlexandrKulik

    AlexandrKulik Новичок

    С нами с:
    16 фев 2019
    Сообщения:
    14
    Симпатии:
    0
    Может уже обсуждалось, но не могу найти подобного.
    Есть задача, пользоватали ставят свои задания в кабинете на определенные дни и часы, т.е. есть для каждого пользователя платеровшик где он указывает в какие дни в какой период времени выполнить его задания.
    Как реализовать хранение и постоянную проверку?
    В голову приходит хранить записи в базе и демоном дергать базу и проверять есть ли на текущий момент у когото задания, если есть то в Gearman очередь ставим и выполняем.
    Но тут мне не нравится постоянные запросы, это будет нагржать базу, а каждые 3-5 минут делать как то сильная большая пауза.

    Дайте совет как лучше реализовать хранение задач и мониторить наступления времени выполнения и запуск на выполнение.

    Думал уже хранить задачи по времени в sqllite но там есть свои проблемы с записью если много пользователей будут ставить

    Примерно где то 200 пользователей примерно у каждого в день планируется 5000-7000 задач т.е. обьем тоже не малый, если все поставят то это 1000000-1400000 записей в базе и мониторить когда какая наступила.

    Прошу помощи господа профи, дайте совет как лучше реализовать

    Сервер VPS Ubuntu 18 ОЗУ 4гб диск 120 гб
     
  2. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.824
    Симпатии:
    738
    Адрес:
    Татарстан
    Да вообще пофиг. Ставьте ежеминутеый крон. Простой запрос по сравнению времени не такая большая нагрузка на бд

    А вот 5тыс задач в день на человека - имхо что то нереальное. Я бы сдох от такого кол-ва задач, даже если просто записать их
     
  3. AlexandrKulik

    AlexandrKulik Новичок

    С нами с:
    16 фев 2019
    Сообщения:
    14
    Симпатии:
    0
    ну а то что дергать базу каждую минуту на такую выборку с большой таблицц как будет?