Как уведомить PHP-скрипт о наличии данных?

Стандартный CRON работает так: запускам скрипт. Он проверяет есть ли данные в БД, если нет - завершается, есть есть - работает.
Можно ли сделать наоборот?
База данных сообщает скрипту что для него появилась работа, скрипт запускается и имеющиеся данные обрабатывает. Подразумевается что данных может появится много.
Какое ПО, технологии нужны что бы на php подобное организовать?
Сервер очередей RabbitMQ это нечто похожее или это про другое?
  • Вопрос задан
  • 169 просмотров
Пригласить эксперта
Ответы на вопрос 3
S4urp8n
@S4urp8n
WEB-разработчик
Есть такая вещь как очередь задач, и есть библиотека Gearman, для php в том числе. То есть просто демон крутится в системе постоянно (как сервис/служба, например также как апач или mysql server) и как только приходит задача он её выполняет (точнее отправляет на обработчик/воркер). На каждый тип задачи можно вешать обработчики и передавать данные в них. Можно настраивать потоки, например выполнять по очереди одну задачу за другой. Вот пример использования php.net/manual/ru/gearman.examples-reverse-bg.php

И никакого крона не нужно)

Вот еще хороший пример:
ruhighload.com/index.php/2010/07/09/gearman-%D0%B8...
Ответ написан
Комментировать
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
По пунктам:
1)
База данных сообщает скрипту что для него появилась работа, скрипт запускается и имеющиеся данные обрабатывает.

База ничего никуда не сообщает - это хранилище и система управления запросами/данными. Не зря язык общения с базой называется язык запросов.
2)
Подразумевается что данных может появится много.

Как это связано? почему это как-то должно на что-то влиять?
3)
Какое ПО, технологии нужны что бы на php подобное организовать?

Пока не понятно чем Вас не удовлетворяет связка крон и пых скрипт - сложно порекомендовать что-либо. Т.к. внешней команды от бд плучить мы не можем - проверять по времени или организовывать демон, которому как-либо будут передаваться данные, например скриптом который добавляет в базу данные. Однако интересно почему крон Вам не подошел?
Ответ написан
Комментировать
PavelK
@PavelK
По-моему база данных не для того предназначена...
Почему бы не сделать, чтобы кто в базу контент добавляет, извещает об этом скрипт?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы