読者です 読者をやめる 読者になる 読者になる

ゆるふわめも

in Kyoto or Tokyo

jsonrpcを使ってリモートにある関数をローカルに定義した関数と同様に呼び出す

使うもの

JSON-RPC 2.0 Specificationを使用 サンプルコードを引用すると

サーバに送るデータ> {"jsonrpc": "2.0", "method": "subtract", "params": [42, 23], "id": 1}
クライアントに返すデータ> {"jsonrpc": "2.0", "result": 19, "id": 1}

ということでjson形式で関数名とパラメータを渡すとサーバー(リモート)で計算して帰って来る。

サーバー側

python-json-rpc – JSON-RPC

だったりdjangoのviews.pyに定義した関数を使用できる

github.com

など。

djangoのプロジェクトのディレクトリ以下の views.pyにて

@jsonrpc_method('myapp.methodname')
def methodname(name):
    return name

とすれば myapp.methodname でよびだせるようになるらしい。 それでdjangoのサーバーからさらに他の関数を呼び出すためにはviews.pyで他のサーバの関数を呼び出せばいい、のかな。

これで クライアント側 <-> サーバー側 <-> 別サーバー(awsgoogleクラウドなど)をつなげてクライアントから別サーバへ処理を支持できるようになったはず。