Мне нужна помощь с системами обмена сообщениями и очередей для промежуточного программного обеспечения для extjs - PullRequest
1 голос
/ 21 июля 2010

Я разработал систему, которая состоит из программного и аппаратного взаимодействия. По сути, это система транзакций, в которой детали транзакций шифруются на устройстве PCI, а затем возвращаются обратно в мою веб-систему, где они хранятся в БД, а затем отображаются с использованием javascript / extjs в браузере. Как я это делаю сейчас, так это:

Процесс кодирования транзакции

1. Пользователь выбирает транзакцию из сетки и нажимает кнопку «кодировать», extjs / js затем отправляет строку в PHP, где она форматируется и вставляется в запросы [coming_request]. На этом этапе я запускаю диспетчер задач extjs, чтобы выполнить интервальные проверки столбца запросов [ответа] на результат, и отображаю сообщение «Пожалуйста, подождите ...».

2. Я создал службу демона python, которая отслеживает таблицу запросов на предмет транзакций для кодирования. Затем демон python собирает любые запросы [input_request], затем кодирует запрос и сохраняет результат в таблице запросов [ответ]. 1009 *

3. Затем менеджер задач extjs получает запросы [ответ] для транзакции, отображает их пользователю, а затем удаляет сообщение «Пожалуйста, подождите ...» и завершает работу диспетчера задач.

Теперь мой вопрос: есть ли лучший способ сделать этот процесс шифрования, используя сторонние системы промежуточного программного обеспечения Messaging и Queuing? Если да, пожалуйста, помогите.

Спасибо!

1 Ответ

0 голосов
/ 22 июля 2010

Я бы изменил это так:

  • сделать блок PHP и подождать, пока демон Python завершит обработку транзакции
  • увеличить время ожидания в Ext.data.Connection (), чтобы он ожидал, пока PHP ответит
  • удалить Ext.MessageBox и обработать возможные ошибки в обработчике обратного вызова в Ext.data.Connection ()

т.е. вместо ожидания завершения транзакции в JavaScript (что требует нескольких вызовов веб-сервера) теперь вы ждете в PHP.

Это предполагает, что вы используете Ext.data.Connection () для вызова обработчика PHP - если используется какой-либо другой объект Ext, принцип тот же, но обработка установки / завершения тайм-аута будет другой.

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