![License BSD](https://img.shields.io/badge/License-BSD-blue.svg "License BSD")
![Python 3](https://img.shields.io/badge/Python-3-brightgreen.svg "Python 3")
![Proactive](https://img.shields.io/pypi/v/proactive.svg "Proactive")
[![Documentation Status](https://readthedocs.org/projects/proactive-python-client/badge/?version=latest)](https://proactive-python-client.readthedocs.io/en/latest/?badge=latest)
# ProActive Python Client
This module allows users to interact with a running ProActive Scheduler and Resource Manager.
NOTE: To know how to use the Proactive Python Client in a more advanced way, please follow the link to see our [documentation](https://proactive-python-client.readthedocs.io/en/latest/).
### 1. Requirements
* Python 2 and 3
### 2. Installation
`pip install proactive --upgrade`
### 3. How to build
Just run `gradlew clean build`
This will generate the `proactive-XXX.zip` file inside project's `dist` folder.
Run `pip install dist/proactive-XXX.zip` to install the package in your python environment.
### 4. Build and run tests
`./gradlew clean build -Pproactive_url=XXX -Pusername=XXX -Ppassword=XXX`
Replace `XXX` with the respective information.
### 5. Usage
```
import os
import getpass
import proactive
print("Logging on proactive-server...")
proactive_host = 'try.activeeon.com'
proactive_port = '8080'
proactive_url = "http://"+proactive_host+":"+proactive_port
print("Connecting on: " + proactive_url)
javaopts=[]
# uncomment for detailed logs
# javaopts.append('-Dlog4j.configuration=file:'+os.path.join(os.getcwd(),'log4j.properties'))
gateway = proactive.ProActiveGateway(proactive_url, javaopts)
gateway.connect(username="", password="") # put your login here!
# Or uncomment the following line to protect your password
# gateway.connect(username="", password=getpass.getpass(prompt='Password: '))
assert gateway.isConnected() is True
print("Connected")
try:
print("Creating a proactive task...")
proactive_task = gateway.createPythonTask()
proactive_task.setTaskName("SimplePythonTask")
proactive_task.setTaskImplementationFromFile('main.py', ['param1', 'param2'])
proactive_task.addInputFile('scripts/__init__.py')
proactive_task.addInputFile('scripts/hello.py')
print("Adding a fork environment to the proactive task...")
proactive_fork_env = gateway.createDefaultForkEnvironment()
proactive_fork_env.setImplementationFromFile("scripts/fork_env.py")
proactive_task.setForkEnvironment(proactive_fork_env)
print("Adding a selection script to the proactive task...")
proactive_selection_script = gateway.createDefaultSelectionScript()
proactive_selection_script.setImplementationFromFile("scripts/selection_script.py")
proactive_task.setSelectionScript(proactive_selection_script)
print("Creating a proactive job...")
proactive_job = gateway.createJob()
proactive_job.setJobName("SimpleJob")
proactive_job.addTask(proactive_task)
proactive_job.setInputFolder(os.getcwd())
proactive_job.setOutputFolder(os.getcwd())
print("Submitting the job to the proactive scheduler...")
job_id = gateway.submitJob(proactive_job, debug=False)
print("job_id: " + str(job_id))
print("Getting job output...")
job_result = gateway.getJobResult(job_id)
print(job_result)
finally:
print("Disconnecting")
gateway.disconnect()
print("Disconnected")
gateway.terminate()
print("Finished")
```
### 6. Examples
#### 6.1 Creating a Python task
```
...
proactive_task = gateway.createPythonTask()
proactive_task.setTaskName("SimplePythonTask")
proactive_task.setTaskImplementation("""print("Hello world!")""")
# or by
# proactive_task.setTaskImplementationFromFile("scripts/print_python_env.py")
# proactive_task.setTaskImplementationFromLambdaFunction(lambda: 88 - 20 * 10)
# add attached files
# proactive_task.addInputFile('scripts/hello.py')
# select your python version
# proactive_task.addGenericInformation("PYTHON_COMMAND", "/usr/bin/python3")
...
```
#### 6.2 Adding a fork environment
```
...
fork_env = gateway.createDefaultForkEnvironment()
fork_env.setImplementationFromFile("scripts/fork_env.py")
proactive_task.setForkEnvironment(fork_env)
...
```
#### 6.3 Adding a selection script
```
...
selection_script = gateway.createDefaultSelectionScript()
selection_script.setImplementationFromFile("scripts/selection_script.py")
proactive_task.setSelectionScript(selection_script)
...
```
#### 6.4 Create a job and add your task
```
...
proactive_job = gateway.createJob()
proactive_job.setJobName("SimpleJob")
proactive_job.addTask(proactive_task)
# for file transfer
# proactive_job.setInputFolder(os.getcwd())
# proactive_job.setOutputFolder(os.getcwd())
...
```
#### 6.5 Submit your job to the scheduler
```
...
job_id = gateway.submitJob(proactive_job, debug=False) # set debug=True for more debug info
...
```
#### 6.6 Get the job results
```
...
print("Getting job output...")
job_result = gateway.getJobResult(job_id)
print(job_result)
...
```
没有合适的资源?快使用搜索试试~ 我知道了~
PyPI 官网下载 | proactive-11.1.0.2010280241.dev0.zip
共112个文件
jar:70个
py:27个
txt:4个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 102 浏览量
2022-02-13
02:00:19
上传
评论
收藏 18.56MB ZIP 举报
温馨提示
资源来自pypi官网。 资源全名:proactive-11.1.0.2010280241.dev0.zip
资源推荐
资源详情
资源评论
收起资源包目录
PyPI 官网下载 | proactive-11.1.0.2010280241.dev0.zip (112个子文件)
setup.cfg 80B
logging.conf 575B
MANIFEST.in 59B
guava-19.0.jar 2.2MB
xercesImpl-2.11.0.jar 1.3MB
netty-3.10.1.Final.jar 1.25MB
spring-core-4.2.5.RELEASE.jar 1.03MB
jaxb-impl-2.2.7.jar 898KB
resteasy-jaxrs-3.0.26.Final.jar 896KB
jna-4.1.0.jar 893KB
jackson-mapper-asl-1.9.13.jar 762KB
commons-collections4-4.4.jar 734KB
httpclient-4.5.2.jar 719KB
msv-20050913.jar 652KB
scheduler-api-11.1.0-SNAPSHOT.jar 619KB
joda-time-2.9.1.jar 611KB
javax.mail-1.5.6.jar 594KB
async-http-client-1.9.20.jar 554KB
woodstox-core-5.0.1.jar 500KB
log4j-1.2.17.jar 478KB
commons-lang3-3.5.jar 469KB
apache-log4j-extras-1.2.17.jar 438KB
commons-vfs2-2.1.1744488.1.jar 434KB
apache-mime4j-0.6.jar 337KB
httpcore-4.4.4.jar 319KB
FastInfoset-1.2.12.jar 287KB
commons-codec-1.10.jar 278KB
jline-2.14.2.jar 262KB
spring-expression-4.2.5.RELEASE.jar 257KB
jackson-core-asl-1.9.13.jar 227KB
jaxb-core-2.2.7.jar 217KB
xml-apis-1.4.01.jar 215KB
commons-io-2.5.jar 204KB
isorelax-20050913.jar 188KB
resteasy-client-3.0.26.Final.jar 173KB
stax2-api-3.1.4.jar 158KB
jdbm-2.0.1.jar 155KB
xsdlib-20050913.jar 144KB
jasypt-1.9.3.jar 139KB
jboss-jaxrs-api_2.0_spec-1.0.1.Beta1.jar 118KB
wasync-2.1.2.jar 107KB
common-api-11.1.0-SNAPSHOT.jar 105KB
jaxb-api-2.2.7.jar 98KB
rest-api-11.1.0-SNAPSHOT.jar 88KB
resteasy-jaxb-provider-3.0.26.Final.jar 85KB
resteasy-multipart-provider-3.0.26.Final.jar 85KB
rest-client-11.1.0-SNAPSHOT.jar 83KB
programming-util-11.1.0-SNAPSHOT.jar 79KB
activation-1.1.1.jar 68KB
process-tree-killer-1.0.1.jar 67KB
jboss-logging-3.3.0.Final.jar 65KB
commons-logging-1.2.jar 60KB
commons-cli-1.3.1.jar 52KB
rm-api-11.1.0-SNAPSHOT.jar 52KB
jsr173_api-1.0.jar 49KB
httpmime-4.5.2.jar 40KB
cron4j-2.2.5.jar 35KB
slf4j-api-1.7.12.jar 31KB
jackson-xc-1.9.13.jar 26KB
scheduler-smartproxy-common-11.1.0-SNAPSHOT.jar 24KB
istack-commons-runtime-2.16.jar 23KB
winp-1.23-proactive.jar 21KB
programming-extension-dataspaces-common-11.1.0-SNAPSHOT.jar 20KB
jboss-annotations-api_1.2_spec-1.0.0.Final.jar 19KB
relaxngDatatype-20050913.jar 19KB
jackson-jaxrs-1.9.13.jar 18KB
rest-smartproxy-11.1.0-SNAPSHOT.jar 16KB
json-simple-1.1.jar 16KB
slf4j-log4j12-1.7.12.jar 9KB
resteasy-jackson-provider-3.0.26.Final.jar 8KB
programming-annotation-11.1.0-SNAPSHOT.jar 7KB
common-http-11.1.0-SNAPSHOT.jar 6KB
jcip-annotations-1.0.jar 2KB
LICENSE 1KB
README.md 5KB
not-zip-safe 1B
PKG-INFO 7KB
PKG-INFO 7KB
log4j.properties 1KB
gradle.properties 57B
ProactiveGateway.py 21KB
ProactiveBuilder.py 15KB
ProactiveFactory.py 8KB
ProactiveTask.py 7KB
fork_env_cuda_old.py 2KB
fork_env_cuda.py 2KB
ProactiveJob.py 2KB
setup.py 2KB
print_python_env.py 2KB
ProactiveScriptLanguage.py 2KB
fork_env3.py 2KB
ProactiveFlowScript.py 1KB
ProactiveScript.py 1KB
fork_env2.py 1KB
fork_env_cntk_gpu.py 938B
fork_env.py 931B
cuda_node_selection.py 613B
ProactiveSelectionScript.py 533B
ProactiveForkEnv.py 521B
ProactiveFlowActionType.py 501B
共 112 条
- 1
- 2
资源评论
挣扎的蓝藻
- 粉丝: 13w+
- 资源: 15万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
- 基于MATLAB的声纹识别系统设计源码 - VoiceprintRecognition
- 基于Java的微服务插件集合设计源码 - wsy-plugins
- 基于Vue和微信小程序的监理日志系统设计源码 - supervisionLog
- 基于Java和LCN分布式事务框架的设计源码 - tx-lcn
- 基于Java和JavaScript的茶叶评级管理系统设计源码 - tea
- IMG_5680.JPG
- IMG_0437.jpg
- 基于Java的JAVA项目分析工具设计源码 - JAVAProjectAnalysis
- top888.json
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功