dis.co多处理python包

discomp的Python项目详细描述


Dis.co

discomp

dis.co多处理python包

discomp是一个使用dis.co服务分发计算作业的包。 它引入了一个类似于多处理python包的api。

有关dis.co本身的更多信息,请查看Dis.co homepage

概述

类discomp.process(名称,目标,参数=)

实例化process类将创建一个新作业,其中一个任务处于“等待状态”,并将其提交给dis.co computing服务

名称

工作的名字。 名称是仅用于标识目的的字符串。它不必是唯一的。

目标

目标是要由正在运行的作业调用的可调用对象。

参数

args是目标调用的参数元组。默认情况下,不向目标传递任何参数。

开始()

开始在其中一台计算机上运行作业。

每个进程对象最多只能调用一次。

加入(超时=无)

join阻塞调用线程,直到作业完成。作业成功完成后,将结果文件下载到新目录中,并在工作目录中指定作业的名称。

当前,超时必须始终为“无”。

一个过程最多应该一次加入。 调用join时可能已经完成了一项工作。但是,只有在调用join时才会下载结果。

类discomp.pool(进程=无)

通过调用pool类的map()方法,实例化pool类将创建一个对象,稍后用于运行在许多计算机中执行一个或多个任务的作业。 pool类不接受任何参数,并且对用于运行作业任务的计算机数没有控制权。 机器的数量是单独确定的。

映射(func,iterable,chunksize=none)

  1. pool.map将同一函数应用于多组参数。
  2. 它创建一个作业,将每组参数作为单独的任务在“池”中的一台计算机上运行。
  3. 它会阻塞,直到结果就绪(即所有作业的任务都完成)。
  4. 结果将按原始顺序返回(与参数的顺序相对应)。
  5. 当作业在工作目录中名为函数名的目录下完成时,将自动下载与作业相关的文件(除了用于运行任务的脚本、输入、配置文件)。
  6. 应该为函数的参数提供iterable。

星图(func,iterable,chunksize=none)

  1. starmap与pool.map类似,但它可以将同一函数应用于多个参数集。
  2. 应该为函数的参数提供iterable。iterable的元素也应该是作为参数解包的iterable。 因此,[(1,2),(3,4)]的一个iterable导致了[func(1,2),func(3,4)]。

安装:

  1. 安装dis.co cli:
 curl https://s3.us-east-2.amazonaws.com/disco.cli/install.sh | sh
  1. 注册dis.co仪表板:

    https://app.dis.co/signup

  2. 安装discomp软件包:

 pip install discomp

 pip3 install discomp

用法:

  1. 您继续编写python脚本,就像在使用多处理包一样,但不是从多处理导入流程和池模块,而是从discomp导入它们。
  2. 使用dis.co帐户的用户名和密码设置环境变量(请参阅下面的示例)。

示例:

使用process类的一个简单示例:

importosfromdiscompimportProcessos.environ['DISCO_LOGIN_USER']='username@mail.com'os.environ['DISCO_LOGIN_PASSWORD']='password'deffunc(name):print('Hello',name)p=Process(name='MyFirstJobExample',target=func,args=('Bob',))p.start()p.join()

输出:

Process

使用pool类的基本示例:

importosfromdiscompimportPoolos.environ['DISCO_LOGIN_USER']='username@mail.com'os.environ['DISCO_LOGIN_PASSWORD']='password'defpow3(x):print(x**3)return(x**3)p=Pool()results=p.map(pow3,range(10))print(results)

输出:

Process

联系我们:

有关详细信息,请随时与dis.co联系

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
返回数组无效的java方法   异步Java CompletableFuture获取其请求   java是否可以像RDBMS那样使用视图?   java如何在屏幕上只运行一个片段?   java无法从Vertex jdbc查询中获取结果   java从jtable获取对象的正确方法   java Spring 3数据设备替代方案   Java BigDecimal:四舍五入到客户首选的数字和增量   JAVA主窗口没有出现,我必须左键单击主窗口。java并单击run查看它   Eclipse RCP中的java进程自定义设备事件   JavaEclipse一次又一次地构建代码(没有任何更改)?   java如何实现对象合并