Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 5, 2010 10:31:42

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

обмен данными между скриптами, на разных серверах?

Подскажите как организовать обмен данными между скриптами, работающими на двух разных серверах?
P.S. например, скрипт на одном сервере получает список файлов (и владельцев) в директории, этот список нужно передать на другой сервер, чтобы отобразить в веб сервере.



Офлайн

#2 Апрель 5, 2010 11:16:21

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

обмен данными между скриптами, на разных серверах?

Офлайн

#3 Апрель 5, 2010 12:57:47

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

обмен данными между скриптами, на разных серверах?

lorien
Скрипт, который будет принимать данные, это обыкновенная веб-страница, передавать можно разными способами, можно и XML-RPC. Самый простой путь, это слать POST-запрос, а принимающий скрипт будет являться обыкновенной формой.

Ну, а на передающей стороне POST-запрос можно через urllib отослать.
нет, это не самый простой способ.

вот xml-rpc:
сервер
import xmlrpclib
from SimpleXMLRPCServer import SimpleXMLRPCServer

def is_even(n):
return n%2 == 0

server = SimpleXMLRPCServer(("localhost", 8000))
server.register_function(is_even, "is_even")
server.serve_forever()
клиент
import xmlrpclib

proxy = xmlrpclib.ServerProxy("http://localhost:8000/")
print "3 is even: %s" % str(proxy.is_even(3))
что может быть проще?

ЗЫ: веб страницы для веб просмотра :)

Отредактировано (Апрель 5, 2010 12:58:36)

Офлайн

#4 Апрель 5, 2010 18:14:03

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

обмен данными между скриптами, на разных серверах?

Есть файловый сервер и есть веб сервер (django). Первый скрипт работает на файловом сервере. Я представляю себе следующий алгоритм:
1) пользователь открывает страницу в броузере;
2) скрипт из django должен отправить запрос на вызов скрипта файлового сервера;
3) скрипт файлового сервера должен вернуть список директорий/файлов на вебсервер;
4) скрипт джанго завершает генерировать страницу.
Если алгоритм верен, то я не вижу возможности использовать просто POST-запрос. Получается, что при использовании POST-запроса, необходимо будет принимать POST-запрос на файловом сервере и на веб сервере. Чтобы принимать POST запрос на файловом сервере нужно запустить вебсервер? В итоге получается что решение с использованием POST запросами равнозначно двум XML-RPC серверам?



Отредактировано (Апрель 5, 2010 18:20:42)

Офлайн

#5 Апрель 5, 2010 19:16:24

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

обмен данными между скриптами, на разных серверах?

Подскажите, как передать массив через POST запрос?



Офлайн

#6 Апрель 5, 2010 19:19:38

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

обмен данными между скриптами, на разных серверах?

qman
Подскажите, как передать массив через POST запрос?
сформируй строку с разделителем: “1;2;3;4”, а на стороне приема сделай сплит

Офлайн

#7 Апрель 5, 2010 20:28:29

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

обмен данными между скриптами, на разных серверах?

lorien
> что может быть проще?
Если на принимающей стороне уже есть веб-сайт, то может быть проще создать там дополнительную страницу для приёма данных

JSON
что-то я упустил что веб сайт уже есть, в таком случае удобней будет отдельная страничка.
вместо json можно попробовать использовать pickle

Офлайн

#8 Апрель 6, 2010 05:06:43

qman
От:
Зарегистрирован: 2007-07-02
Сообщения: 444
Репутация: +  0  -
Профиль   Отправить e-mail  

обмен данными между скриптами, на разных серверах?

o7412369815963
сформируй строку с разделителем: “1;2;3;4”, а на стороне приема сделай сплит
мне нужно передать более сложную структуру - список директорий и их владельцев.



Офлайн

#9 Апрель 6, 2010 05:13:56

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

обмен данными между скриптами, на разных серверах?

qman
o7412369815963
сформируй строку с разделителем: “1;2;3;4”, а на стороне приема сделай сплит
мне нужно передать более сложную структуру - список директорий и их владельцев.
пример pickle или как предложили выше - json

Офлайн

#10 Апрель 6, 2010 10:06:12

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

обмен данными между скриптами, на разных серверах?

lorien
Если на принимающей стороне уже есть веб-сайт, то может быть проще создать там дополнительную страницу для приёма данных, чем запускать отдельный сервер.
Я тоже больше к этому склоняюсь. Сейчас как раз думал над отправкой данных с десктопного приложения серверу.
XML-RPC сервер еще ведь отдельно мониторить нужно на предмет падений.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version