Инструмент поиска рабочего процесса/процесса на основе ZF

Кто-нибудь знает систему рабочего процесса на основе Zend (или php), которая является открытым исходным кодом и может быть интегрирована в проект? Что я понимаю под системой рабочего процесса:

  • Пользователь запускает рабочий процесс, отправляя некоторый начальный параметр (например, запрос SOAP/HTML)
  • Zend запускает рабочий процесс в фоновом режиме (при высокой нагрузке на сервер операции выстраиваются в очередь)
  • Рабочий процесс может состоять из нескольких модулей/действий, например. экспортировать xml > создать pdf > отправить pdf пользователю > отправить электронное письмо (Backend)
  • Пользователь видит текущий статус запущенного рабочего процесса онлайн и получает результат, как только он будет завершен, через ajax-запросы к серверу. (Пользовательский интерфейс)
  • Администратор имеет обзор общих запущенных рабочих процессов (интерфейс администратора)

Спасибо за ваши подсказки!


person Manuel    schedule 24.07.2011    source источник


Ответы (4)


Если я правильно понимаю, рабочий процесс — это просто предопределенный набор действий.

Я не верю, что для этого есть готовый инструмент, но думаю, вас может заинтересовать запуск набора заданий cron из интерфейса командной строки Zend Framework (например, создание собственного Zend_Tool Provider) и в Zend_Queue.

person takeshin    schedule 24.07.2011
comment
Да я понимаю предопределенный набор действий. Но я хочу сделать действия многоразовыми для разных проектов. - person Manuel; 25.07.2011
comment
Похоже, что я должен построить что-то сам :( - person Manuel; 02.08.2011

Возможно, вы захотите использовать правильный инструмент для такой задачи, например. Gearman. Это часть программного обеспечения исключительно для требований, которые вы описали. Подробнее здесь:

person Tomas Dermisek    schedule 25.07.2011
comment
Звучит довольно потрясающе! но у меня не так много задач, которые выполняются одновременно, однако у меня есть несколько рабочих процессов с похожими действиями. Итак, я хочу создать действия. Выстраивайте различные действия в рабочий процесс и отображайте ход выполнения действий. Gearman мне не подходит, ты. Но большое спасибо! - person Manuel; 25.07.2011

Вы можете попробовать библиотеку рабочих процессов eZ Components: http://www.ezcomponents.org/docs/api/trunk/introduction_Workflow.html

В этом сообщении описывается, как интегрировать библиотеку компонентов eZ с Zend: http://devzone.zend.com/article/ 156

Кроме этого, я не нашел реальных примеров интеграции классов рабочего процесса eZ с приложением Zend MVC.

person reynog    schedule 06.08.2011

У Symfony есть компонент для этого. http://symfony.com/doc/current/components/workflow.html

Платформа Oro имеет пакет для этого. https://github.com/oroinc/platform/blob/master/src/Oro/Bundle/WorkflowBundle/Resources/doc/index.md

В противном случае вы могли бы создать свою собственную реализацию, возможно, на основе шаблона проектирования State. Вот хороший пример от Себастьяна Бергмана. https://github.com/sebastianbergmann/state

person Calin Bolea    schedule 16.06.2018