Как включить параллельное выполнение ABAP в PyRFC?Python

Программы на Python
Ответить
Anonymous
 Как включить параллельное выполнение ABAP в PyRFC?

Сообщение Anonymous »

Я переношу проект на PyRFC, используя конфигурацию сервера.
Моя программа регистрирует функцию, которую необходимо вызвать. Входящие данные разбиваются на 3 DTP, поэтому моя функция будет вызываться 3 раза.
Когда мы устанавливаем параллельное выполнение в SAP на 1, все работает нормально, и я получаю один пакет. после другого. Но это слишком медленно! Нам необходимо, чтобы выполнения выполнялись параллельно.
Когда мы устанавливаем выполнение на 3 в SAP, он говорит, что все пакеты отправляются, но я получаю только первый.
Вот моя реализация PyRFC:

Код: Выделить всё

def launch_server():
"""Start server."""

# create server for ABAP system ABC
client_params = {
"lang": config["lang"],
"client": config["client"],
"passwd": config["passwd"],
"user": config["user"],
"sysnr": config["sysnr"],
"ashost": config["ashost"],
"dest": config["dest"],
"conncount": config["conncount"],
"trace": config["trace_level"]
}

# Define server parameters (SAP RFC server setup)
server_params = {
"gwhost": config["gwhost"],
"gwserv": config["gwserv"],
"dest": config["dest"],
"program_id": config["program_id"],
"trace": config["trace_level"]
}

server = Server(
server_params=server_params,
client_params=client_params,
config={
"check_date": False,
"check_time": False,
"port": 8081,
"debug": config["use_server_debug"] != 0,
"server_log": config["use_server_debug"] != 0
}
)

# expose python function to be called by ABAP
server.add_function("MY_FUNCTION", myFunctionImplementation)

# start server
server.serve()

# Enable pyrfc logging
logging.basicConfig(level=logging.DEBUG)

server_thread = Thread(target=launch_server)
server_thread.start()
В этом примере, когда SAP отправляет 3 пакета одновременно, я получаю только один, а myFunctionImplementation вызывается только один раз.
В этом примере для conncount установлено значение 10, и это единственное, что нужно изменить, чтобы разрешить распараллеливание.
Я почти не понимаю внутренние процессы SAP, что мне не хватает? Можно ли обрабатывать все три пакета одновременно?
Я также безуспешно пытался включить bgRFC.

Подробнее здесь: https://stackoverflow.com/questions/792 ... p-in-pyrfc
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»