小编son*_*olo的帖子

如何使用python的asyncio模块正确创建和运行并发任务?

我正在尝试Task使用Python 3的相对较新的asyncio模块正确理解和实现两个并发运行的对象.

简而言之,asyncio似乎旨在Task通过事件循环处理异步进程和并发执行.它促进了await(在异步函数中应用)作为无回调方式的使用,等待和使用结果,而不会阻塞事件循环.(期货和回调仍然是一个可行的选择.)

它还提供了asyncio.Task()类,一个专门Future 用于包装协同程序的子类.优选地通过使用该asyncio.ensure_future()方法来调用.asyncio任务的预期用途是允许独立运行的任务与同一事件循环中的其他任务"同时"运行.我的理解是Tasks连接到事件循环,然后自动保持在await语句之间驱动协程.

我喜欢能够使用并发任务而不需要使用其中一个Executor类的想法,但我没有找到很多关于实现的详细说明.

这就是我目前正在做的事情:

import asyncio

print('running async test')

async def say_boo():
    i = 0
    while True:
        await asyncio.sleep(0)
        print('...boo {0}'.format(i))
        i += 1

async def say_baa():
    i = 0
    while True:
        await asyncio.sleep(0)
        print('...baa {0}'.format(i))
        i += 1

# wrap in Task object
# -> automatically attaches to event loop and executes
boo = asyncio.ensure_future(say_boo())
baa = …
Run Code Online (Sandbox Code Playgroud)

python concurrency task python-3.4 python-asyncio

65
推荐指数
3
解决办法
4万
查看次数

python asyncio,如何从另一个线程创建和取消任务

我有一个python多线程应用程序.我想在一个线程中运行一个asyncio循环,并从另一个线程发送回调和协同程序.应该很容易,但我无法理解asyncio的东西.

我提出了以下解决方案,它可以完成我想要的一半,随意评论任何事情:

import asyncio
from threading import Thread

class B(Thread):
    def __init__(self):
        Thread.__init__(self)
        self.loop = None

    def run(self):
        self.loop = asyncio.new_event_loop()
        asyncio.set_event_loop(self.loop) #why do I need that??
        self.loop.run_forever()

    def stop(self):
        self.loop.call_soon_threadsafe(self.loop.stop)

    def add_task(self, coro):
        """this method should return a task object, that I
          can cancel, not a handle"""
        f = functools.partial(self.loop.create_task, coro)
        return self.loop.call_soon_threadsafe(f)

    def cancel_task(self, xx):
        #no idea

@asyncio.coroutine
def test():
    while True:
        print("running")
        yield from asyncio.sleep(1)

b.start()
time.sleep(1) #need to wait for loop to start
t …
Run Code Online (Sandbox Code Playgroud)

python multithreading python-multithreading python-asyncio

25
推荐指数
3
解决办法
1万
查看次数

.net 3.5的websockets库

我需要在.net 3.5中使用websockets .但是,大多数实现都需要.net 4或4.5 ......

有没有人知道或推荐一个好的开源C#websockets实现,它是积极维护的并且与.net 3.5兼容?

.net c# websocket

11
推荐指数
0
解决办法
1543
查看次数

在流星中使用font-face?

我试图在流星中使用CSS @ font-face,但由于某种原因它不起作用:

@font-face {
    font-family: printFailed; 
    src:
    url("../public/fonts/wlm_print_failed.ttf"),
    url("../public/fonts/wlm_print_failed.eot");
}
Run Code Online (Sandbox Code Playgroud)

我检查了我的路径和拼写.

当我在浏览器中检查元素时,看起来文件路径和名称是正确的,但浏览器替换了通用字体而不是预期的自定义字体.

有什么指针吗?谢谢.

fonts font-face meteor

10
推荐指数
1
解决办法
7412
查看次数

如何从numpy数组中删除正无穷大...如果已经转换为数字?

一旦这些数字已经转换为数字格式,如何从numpy数组中删除正无穷数?我正在使用一个在内部使用numpy的包,但是当返回某些数组时,某些值将返回为1.79769313486e + 308正无穷大数.

是否有一种优雅而快速的方法来删除这些(在我的情况下我想要'0'),或者在数组中迭代最佳解决方案?

python numpy infinity graph-tool

10
推荐指数
2
解决办法
2万
查看次数

如何将数组传递到 Scipy Interpolate RectBivariateSpline?

我正在创建一个 Scipy Interpolate RectBivariateSpline,如下所示:

import numpy as np
from scipy.interpolate import RectBivariateSpline

x = np.array([1,2,3,4])
y = np.array([1,2,3,4,5])
vals = np.array([
    [4,1,4,4,2],
    [4,2,3,2,6],
    [3,7,4,3,5],
    [2,4,5,3,4]
])

rect_B_spline = RectBivariateSpline(x, y, vals)
Run Code Online (Sandbox Code Playgroud)

然后我尝试传入一个 x 和 y 点数组:

a = np.array([3.2, 3.8, 2.2])
b = np.array([2.4, 4.3, 3.3])

print(rect_B_spline(a, b))
Run Code Online (Sandbox Code Playgroud)

我收到如下错误:

Traceback (most recent call last):
  File "path/file", line 18, in <module>
    print(rect_B_spline(a, b))
  File "/path/scipy/interpolate/fitpack2.py", line 728, in __call__
    raise ValueError("Error code returned by bispev: %s" % ier)
ValueError: Error code …
Run Code Online (Sandbox Code Playgroud)

python interpolation numpy scipy

7
推荐指数
1
解决办法
9410
查看次数

docpad系统中的静态与动态内容 - 如何创建动态内容?

DocPad被描述为与其他静态站点生成器相当,但它也被描述为"不限于静态站点生成".

我一直在浏览DocPad网站和其他文档,但还没有找到任何似乎可以解释如何合并动态内容的内容,以及可能涉及哪些类型的限制?

作为一个相对初学者,我想知道是否有人可以帮助我更好地理解将动态内容整合到DocPad中的方法......?例如AJAX和动态服务器端脚本,用于在单击某个标签时动态将图片从Flickr加载到网页中...

谢谢.

ajax static dynamic docpad

6
推荐指数
1
解决办法
1362
查看次数

Meteor - 将异步功能返回到车把模板?

我试图基于Flickr API调用生成Flickr URL,然后将该结果返回到handlebars.js模板.我正在努力寻找绕过异步进程的方法.

我试图创建一个回调函数,但我仍然不确定如何将已定义的对象或变量放入HTML模板中.

以下是Flickr API函数的代码:

var FlickrRandomPhotoFromSet = function(setID,callback){
Meteor.http.call("GET","http://api.flickr.com/services/rest/?method=flickr.photosets.getPhotos&api_key="+apiKey+"&photoset_id="+setID+"&format=json&nojsoncallback=1",function (error, result) {
    if (result.statusCode === 200) 
    var photoResult = JSON.parse(result.content);
    var photoCount = photoResult.photoset.total;
    var randomPhoto = Math.floor((Math.random()*photoCount)+1);
    var selectedPhoto = photoResult.photoset.photo[randomPhoto];
    var imageURL = "<img src=http://farm"+selectedPhoto.farm+".staticflickr.com/"+selectedPhoto.server+"/"+selectedPhoto.id+"_"+selectedPhoto.secret+"_b.jpg/>";
    FlickrObject.random = imageURL;
    }
    if (callback && typeof(callback)==="function") {
        callback();
    }
});};
Run Code Online (Sandbox Code Playgroud)

我的模板代码是这样的:

Template.backgroundImage.background = function(){
    FlickrRandomPhotoFromSet(setID,function(){
        return FlickrObject;
    });
};
Run Code Online (Sandbox Code Playgroud)

但这仍然让我陷入困境,无法将定义的对象放入我的HTML中,其编码如下:

<template name="backgroundImage">
<div id="background">
    {{random}}
</div>
Run Code Online (Sandbox Code Playgroud)

asynchronous handlebars.js meteor

6
推荐指数
1
解决办法
1902
查看次数

如何在 Deck.gl 中将 Superset 数据显示为多边形

Superset 有deck.gl Polygon可视化类型。

我正在尝试使用这种类型的图表来显示从PostGIS启用的postgres数据库中获取的多边形;但是,除了图例之外,不显示任何视觉信息。

我的数据库查询如下:

SELECT *, ST_AsGeoJSON(ST_Transform((ST_DUMP(geom)).geom::geometry(Polygon, 27700), 4326)) as geom
  FROM <my-schema>.<my-table>;
Run Code Online (Sandbox Code Playgroud)

这会返回geojson Polygon这样的记录:

{
  "type": "Polygon",
  "coordinates": [[
    [-0.029742716, 51.492925448],
    [-0.028980512, 51.491626654],
    [-0.027819506, 51.490055839],
    ...
Run Code Online (Sandbox Code Playgroud)

我已经验证QGIS查询是否有效并且geoJSON信息显示正确。

但是,这似乎不起作用superset:我创建了一个deck.gl Polygon图表,并为其选择了JSON线编码(而不是 Polyline 或 Geohash)。选择指标并将视口坐标居中到正确的地理范围后,我运行了查询,但图表中没有显示任何空间信息,只有一个显示所选指标的中断的图例。

尽管地图是空的,但用于将数据下载为 CSV 或 JSON 的相邻按钮会返回完整的数据,因此我倾向于认为我误解了其中一项设置,或者我以不正确的格式提供了数据。

有关如何使该插件工作以及它可能期望数据采用什么格式的任何指示?

一般来说,我正在努力寻找有关如何使用该superset deck.gl插件的任何文档:任何可能有用的示例或文档?

postgis deck.gl apache-superset

6
推荐指数
1
解决办法
4530
查看次数

如何从 Python 运行时云函数访问 Google Cloud Platform Firestore 触发器

GCP 已向云函数添加了对 Python 运行时的支持。

GCP 还将 Firestore 扩展到一般 GCP 生态系统(而不是仅可用于 Firebase)

但是,缺少有关如何从 python 云函数侦听 Firestore 触发器的文档,目前仅提供给node

是否有(或将有)从 python 云函数访问 Firestore 触发器的方法?

python firebase google-cloud-platform google-cloud-firestore

5
推荐指数
1
解决办法
1520
查看次数