Системы массового обслуживания - что хороший путь состоит в том, чтобы запустить несколько рабочих?

Попробуйте следующее регулярное выражение:

(?P[\w-]+?)\s*=\s*{(?:{| {\[})?\s*(?P.*?)(?:,])?\s*}{1,2}

В моем тесте оно соответствует всем 3 вашим образцам.

Рабочий пример (содержащий проверку регулярного выражения выше) см. В https://regex101.com/r/Gy8IWu/1

. конкретные части тестируемого регулярного выражения и то, что было сопоставлено.

Редактировать

Регулярное выражение, соответствующее всем 3 вариантам, согласно вашему комментарию:

(?P[\w-]+?)\s*=\s*{{1,2}\s*(?P(?:{\[})?.*?)\s*}{1,2}

Смотрите обновленный пример: https://regex101.com/r / Gy8IWu / 2

9
задан Alister Bulman 9 February 2009 в 14:32
поделиться

2 ответа

Реальное промежуточное программное обеспечение организации очередей сообщений как WebSphere MQ или MSMQ предлагает "триггеры", где сервис, который является частью MQM, запустит рабочего, когда новые сообщения будут помещены в очередь.

AFAIK, никакая система массового обслуживания "веб-сервиса" не может сделать это по природе зверя. Однако я только трудно посмотрел на SQS. Там необходимо опросить очередь, и в случае Amazon чрезмерно нетерпеливый опрос собирается стоить Вам некоторый реальный $$.

0
ответ дан 5 December 2019 в 01:19
поделиться

Я помогал другу, который работает над проектом, который включает в себя очередь на основе Gearman, которая будет отправлять различные асинхронные задания различным демонам PHP и C на пуле из нескольких серверов.

Рабочие процессы были разработаны так, чтобы вести себя так же, как классические демоны unix / linux, благодаря простым сценариям оболочки в /etc/init.d/ и командам вроде:

invoke-rc.d myWorker start | stop | restart | reload

Этот механизм прост и эффективен. И поскольку он полагается на стандартные функции Linux, даже люди с ограниченными знаниями о вашем приложении могут запустить демон или остановить его, если они знают, как он называется системно (он же «myWorker» в приведенном выше примере).

Другой Преимущество этого механизма в том, что он также упрощает управление пулом ваших рабочих. На вашем компьютере может быть 10 демонов (myWorker1, myWorker2,. ..) и запускать или останавливать их "диспетчером рабочих" в зависимости от длины очереди. И поскольку эти команды можно запускать через ssh, вы можете легко управлять несколькими серверами.

Это решение может показаться дешевым, но если вы создадите его с хорошо закодированными демонами и надежными сценариями управления, я не понимаю, почему это будет менее эффективны, чем дорогостоящие решения для любого среднего (например, «некритического») проекта.

4
ответ дан 5 December 2019 в 01:19
поделиться
Другие вопросы по тегам:

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