powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / взаимодействие между приложениями
14 сообщений из 14, страница 1 из 1
взаимодействие между приложениями
    #40024587
AlexeyM123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день

Есть задача по обработке XML счетов
Сделал так

На основе замечательной библиотеке internettools по обработке XQuery сделал REST сервер на FreePascal
Файлы XML хранятся на сервере и там же приложение REST сервера

Второе приложение на Delphi дает команду REST серверу загрузить файл и распарсить данные, ответ загоняет в базу FireBird
Пока в режиме тестирования второе приложение стоит на удаленной машине

По результатам эмпирического наблюдения поставил задержку между вызовами REST сервера в 5 сек

Прошу рекомендаций, как можно ускорить взаимодействие между приложениями:
MailSlot, NamedPipes, WM_COPYDATA ?
...
Рейтинг: 0 / 0
взаимодействие между приложениями
    #40024593
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeyM123,

Ты для начала найди место где у тебя эта задержка в 5 секунд происходит.
...
Рейтинг: 0 / 0
взаимодействие между приложениями
    #40024600
AlexeyM123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rgreat
REST сервер загружает xml файл и парсит его
если его дергать в цикле без задержек , REST сервер падает
поэтому я сам поставил 5 секунд
...
Рейтинг: 0 / 0
взаимодействие между приложениями
    #40024603
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeyM123Прошу рекомендаций, как можно ускорить взаимодействие между приложениями:
MailSlot, NamedPipes, WM_COPYDATA ?

Никак. REST это исключительно TCP/IP.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
взаимодействие между приложениями
    #40024605
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а нахрена тут APP-сервер?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
взаимодействие между приложениями
    #40024610
AlexeyM123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий

а нахрена тут APP-сервер?

библиотеку internettools нельзя портировать в Delphi
https://habr.com/ru/post/415617/
а очень хочется использовать возможности XQuery
...
Рейтинг: 0 / 0
взаимодействие между приложениями
    #40024612
AlexeyM123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov

AlexeyM123Прошу рекомендаций, как можно ускорить взаимодействие между приложениями:
MailSlot, NamedPipes, WM_COPYDATA ?

Никак. REST это исключительно TCP/IP.

это понятно
я к тому что может быть взаимодействие сделать другим способом
не через TCP, а через MailSlot ?
...
Рейтинг: 0 / 0
взаимодействие между приложениями
    #40024616
s62
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeyM123
rgreat
REST сервер загружает xml файл и парсит его
если его дергать в цикле без задержек , REST сервер падает
поэтому я сам поставил 5 секунд
А зачем его дергать в цикле без задержек? Или это тест на случай интенсивного многопользовательского использования?
...
Рейтинг: 0 / 0
взаимодействие между приложениями
    #40024617
sql2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeyM123
rgreat
REST сервер загружает xml файл и парсит его
если его дергать в цикле без задержек , REST сервер падает
поэтому я сам поставил 5 секунд


так и говорит "я упал"?
или ошибка в 17 строке?
...
Рейтинг: 0 / 0
взаимодействие между приложениями
    #40024619
AlexeyM123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot sql2012#22242535]
AlexeyM123
rgreat

так и говорит "я упал"?
или ошибка в 17 строке?


точный текст приведу позже
но смысл, что ответ от сервера не получен
...
Рейтинг: 0 / 0
взаимодействие между приложениями
    #40024620
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeyM123я к тому что может быть взаимодействие сделать другим способом
не через TCP, а через MailSlot ?

Тогда это уже будет не REST.

AlexeyM123если его дергать в цикле без задержек , REST сервер падает

Он падает потому что ты написал его с ошибкой, не учёл одновременный вызов из двух
подключений. Исправляй.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
взаимодействие между приложениями
    #40024621
Фотография X-Cite
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexeyM123
rgreat
REST сервер загружает xml файл и парсит его
если его дергать в цикле без задержек , REST сервер падает
поэтому я сам поставил 5 секунд


REST сервер не должен падать.. он должен отдавать в крайнем случае 500 или ничего не отдавать.. но когда раздуплится, снова отвечать.
Это нормальное поведение. И клиент у себя обрабатывает как сервис временно не доступен.

Другое дело, это сколько реквестов в секунду он может выполнять?

А вообще такие вещи делают через очередь.

Рест-сервис принимает создание ресурса "задача" и возвращает 201 где в location указан ресурс получения результата задачи.
А внутри сервиса делаете обработчик задач, и там уже играетесь в параллелизм..
...
Рейтинг: 0 / 0
взаимодействие между приложениями
    #40024629
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а эта самая супер-пупер билибитека, оно вообще потокобезопасное и реентерабельное?
или хрен его знает?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
взаимодействие между приложениями
    #40024636
AlexeyM123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, наверное я накосячил

http://www.benibela.de/documentation/internettools/xquery.html

function defaultQueryEngine: TXQueryEngine;

This is a thread local global query engine. You must call freeThreadVars, after having using it from different threads. When loading additional XML/HTML documents (e.g. with doc or retrieve) they are also only freed by freeThreadVars.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / взаимодействие между приложениями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]