Remotely
Remotely is a simple and secure remote code execution api that supports both
asynchronous and blocking execution.
Remotely can be used for:
- distributing tasks to other boxes in parallel
- running coding under other versions of python
- accessing libraries not available on the current box
such as using win32com from linux
- accessing resources (files etc) on another box
You start the remotely server on the box where you want to execute code.
::
from remotely import create_remotely_server
server = create_remotely_server("YOUR_API_KEY", PORT)
server.serve_forever()
...
And you use the remotely decorater for any function you want to run remotely.
::
from remotely import remotely
@remotely("YOUR_API_KEY", SERVER, PORT)
def remote_code():
# import required packages
# do something here
return result
# function will be executed on the remote server
remote_code()
The asynchronous (non-blocking) version runs the function as a separate process
on the remote server and supports simple job management functions (join and kill).
::
from remotely import RemoteClient
rc = RemoteClient("API_KEY", SERVER, PORT)
pid = rc.run(foo, arg1, arg2=key2)
output = rc.join(pid)
output = rc.kill(pid)
|
| Created by Kefei Zhou (kefei.zhou at gmail)
| Licensed under BSD 3-Clause, included as LICENSE in the source distribution.
|