重新使用ThreadPoolExecutor的后台任务的工作进程装饰器。

soon的Python项目详细描述


#很快
后台任务的worker decorator将重新使用[threadpoolexecutor](https://docs.python.org/3/library/concurrent.futures.html concurrent.futures.threadpoolexecutor)。

` setup.py`
```
git clone git@github.com:dotpot/soon.git
sudo python setup.py install
````


要确保很快正确安装,可以从项目根目录运行unittest套件:
``````
pipenv run pytest-v
````

用法
----
soon库使您能够利用多线程的好处最不关心实现细节。



website fetcher example
----
您已经收集了一个url列表,并希望下载该部分的html。以下是解决任务的第一步,这是非常合理的。

`` python
url=[
'https://cnn.com',
'https://news.ycombinator.com/',
'https://stackoverflow.com/',


`````````````python
import time
import-requests


defetch(url):
return requests.get(url)








start=time.time()
respons=[fetch(url)fetch(url)fetch(url)fetch(url)url=
html=[respons.response.text响应]
end=time.time.time()
br/>print(“时间:%秒”%(结束-开始))
```
--


>更有效的网站获取程序示例
----


>使用soon的decorator语法,我们可以定义在多线程中执行的函数。对“download”的单独调用是非阻塞的,但我们可以忽略这一事实,并按照同步范例中的方式编写代码。

``` python
导入时间
来自即将导入的工作线程的导入请求


@workers(5)
def fetch(url):
返回请求。get(url)


如果u name_uuu==”uu main_u”:
开始=时间。time()
响应=[url中url的获取(url)
html=[响应中的响应文本]
结束=time.time()
print(“time:f seconds”%(end-start))

````
我们现在可以更有效地下载网站。

--


防止挂起无法保证返回的任务。

``python
import time


@soon import workers

@workers(1,timeout=0.1)
def timeout_error():
time.sleep(1)

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

推荐PyPI第三方库


热门话题
带Tomcat的Eclipse上的JavaHTTP状态404(没有生成web.xml)   很难找到功能丰富的Java mp3播放器(api)   java为什么有些资源文件放在METAINF目录下   java我希望通过扩展字符串执行计算“添加”。你怎么能做到?   java如何使用maven查看文件名格式   java如何避免在多个地方对同一事物使用可能很长的if语句   Selenium/Java拍摄完整的页面截图   在Java字符串中移动字母   Java棋盘,奇数/偶数%2面板   java如何使用Hibernate生成DML脚本   java如何为for循环创建多线程?   JavaJavaMail每两周gmail日历邀请作为ICS文件发布   Android API 23中的java HmacSHA256算法   java如何访问循环中的对象?   java是否可以将cypress框架中的某些元素(定位器)添加到cucumber框架中?   java在创建jpa后自动填充表格   在Java中是否有可能缩小泛型类子类中的泛型类型?   散列映射中的java排序   java将自定义HTTP头添加到BlazeDS和AMF发送的请求中   如何从读取到json文件并创建java类