Выполняйте специальные задачи в соответствии с заданным пользователем временем

Я удивлен, что не смог найти здесь что-то по этому поводу - поэтому, если я полностью пропустил это, пожалуйста, направьте меня в нужную ветку.

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

Мы разрабатываем веб-сайт со списком задач, которые пользователь может выбрать для сервера, который будет выполнять от его имени. Автоматические электронные письма, текстовые сообщения, напоминания календаря и т. д.

Сначала я подумал об использовании cron, но поскольку время и задачи для каждого пользователя, вероятно, будут меняться каждый день в течение каждого дня - для того, чтобы это было реально осуществимо, я полагал, что использование cron непосредственно для каждой задачи может стать довольно беспорядочным и глючит.

Следующей моей мыслью было запускать скрипт cron каждую ночь в полночь и генерировать список задач на следующий день - но мне все равно понадобится cron или какой-нибудь демон времени, подобный cron, чтобы проверять список по времени каждую минуту.

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

Я работаю с вашим базовым стеком LAMP7. Если кто-то имел дело с подобной задачей, я просто ищу хорошие идеи для рассмотрения.

Заранее спасибо.

Вы можете посмотреть очередь сообщений, например RabbitMQ: rabbitmq.com

Madhur Bhaiya 25.11.2018 09:52
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
27
1

Ответы 1

Вы можете использовать приложение ReactPHP, работающее в фоновом режиме на вашем компьютере.

Затем вы можете создать простой http сервер в своем приложении ReactPHP для получения пользовательских данных с вашего веб-сервера, такого как вы указали LAMP7. И как только вы узнали, что вы можете инициировать эти события, установив асинхронный таймер на цикл событий.

большое спасибо. Я попробую оба предложения и посмотрю, как они сработают :)

CreationTribe 26.11.2018 06:59

И плюс, если вы новичок в асинхронном / неблокирующем вводе-выводе, я предлагаю вам больше узнать о циклах событий youtube.com/…

user8713979 26.11.2018 13:27

Другие вопросы по теме