Форум сайта python.su
1
Добрый день, прошу помощи.
Ситуация такая. Есть сервер 1С, работающий под Windows с базой MSSQL, есть php web сайт работающий на ngnix установленном на Ubuntu server.
Есть скрипт на python, который работает с 1С через COM объекты.
Задача:
сделать так, чтобы пользователь веб сайта, по клику на кнопку отправлял запрос с данными в этот скрипт, получал от него данные и отображал пользователю.
Проблема (если что то не так - поправьте):
скрипт Python работает через win32com и pythoncom, и на ubuntu работать не будет, так как нет этих модулей под ubuntu, да и программа установлена на другой ОС.
Как это можно реализовать? подскажите любые пути решения, чем проще - тем лучше. Я так понимаю тут необходимо использовать Ajax, но как его правильно направить в этот скрипт…
Заранее спасибо!
Офлайн
72
Пусть скрипт работает на windows и постоянно слушает какой нибудь порт, по приходу туда запроса выполняет запрос к 1С и отдает через этот порт данные. Чтобы обойтись на стороне веб-сервера пхп, пусть данные он отдает в каком-нибудь распространенном формате, например JSON, но это надо смотреть по кол-ву данных и какое дальнейшее их использование предполагается. В общем задача веб сайта получить запрос от пользователя и отдать его на сервис питона, который вызовет 1С. Хорошо еще кешировать на стороне веб сайта результаты запросов к 1С, потому что, насколько я знаю они выполняются не быстро и очень ресурсоемки. Совсем хорошо делать запросы к сервису питона не напрямую, а из какой нибудь очереди задач.
Если на стороне веб-сервера допустимо тоже использовать питон, то можно взять celary для очереди задач, и какую нибудь библиотеку для RPC в питоне, например pyro.
Офлайн
1
Спасибо, как вариант, собственно к нему и склонялись!
Офлайн
72
Тут еще зависит от типа данных, что вы от 1С хотите получать, если там какие-то общие для всех отчеты, возможно просто скрипту формировать по крону пачку отчетов и класть на шареный ресурс, а с него уже нгинксом раздавать.
Офлайн
1
на самом деле, ничего раздавать не надо)
Просто на сайте формируется вопрос с данными -> их надо направить в скрипт, который взаимодействуя с 1C через COM обработает их, и если все нормально, то запишет в 1С. Но нужно, чтобы он еще результат обработки (или успешной записи) выдал обратно в web.
Офлайн