问题标签 [concurrent.futures]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
360 浏览

python-3.x - 使用 PreparedRequest 时为 python 请求指定超时

我知道对于 PreparedRequest,我们在session.send调用中指定超时,其中session可以是requests.Session类的实例,正如我已经在这里看到的那样:http: //docs.python-requests.org/en/latest/user/advanced/

但是我需要在发送之前设置超时。从本质上讲,对于 PreparedRequest 对象。因为我使用该session.send方法作为映射函数,映射到 PreparedRequest 实例。

现在我需要以某种方式指定超时。我该怎么做?上面的代码封装在一个方法中。我将session对象作为参数。session在 session.send 的并行执行发生之前,有没有办法可以为将与对象一起发送的所有请求设置超时?

谢谢你。

0 投票
2 回答
12485 浏览

python - concurrent.futures 和 asyncio.futures 有什么区别?

为了澄清这个问题的原因:

  1. 使用两个具有相同名称的模块会令人困惑。它们代表什么使它们与众不同?

  2. 什么任务可以一个人解决而另一个人不能解决,反之亦然?

0 投票
1 回答
317 浏览

python - Python - 使用 concurrent.futures 读取地图

为了减少我的计算时间,在下面的帖子中,有人告诉我将 map 与 concurrent.futures 一起使用。但我无法读取结果,我得到“0x7f0ef48ff2d0> 处的生成器对象映射”......我该怎么做?

0 投票
2 回答
710 浏览

scala - 组合相互依赖的期货

我正在使用 Scala 向 API(确切地说是 Play Framework 的 WS)发出 HTTP GET 请求,该 API 以如下所示的 JSON 响应进行响应;

因此,next_url返回的 JSON 中的字段可能存在也可能不存在。

我的方法需要做的是从调用第一个 URL 开始,检查响应是否有一个next_url,然后对其执行 GET。最后,我应该data将响应中的所有字段合并到所有数据字段的一个未来中。next_url当响应中不存在时,我终止。

现在,以阻塞方式执行此操作更容易,但我不想这样做。解决此类问题的最佳方法是什么?

0 投票
3 回答
2140 浏览

python - Python 线程池 - 创建子任务并等待它们的任务

假设我有一个最大的线程池执行器。10个线程,我向它提交一个任务,它本身创建另一个任务,然后递归地等待它完成,直到我达到11的深度。

Python中的示例代码:

上面的代码输出:

和死锁。

有没有办法在不创建额外线程和执行程序的情况下解决这个问题?

换句话说,工作线程在等待时处理其他任务的方法?

0 投票
1 回答
1521 浏览

python - 超时后龙卷风未来结果

这可能听起来有点奇怪,但是 Tornado 是否有可能在将未来包装在超时后完成执行?

所以是这样的:

所以在这种情况下,future在超时之前没有完成,但我希望它继续执行它所拥有的任何可调用对象。

换句话说,我希望能够使用它gen.WaitIterator来获得一组期货的结果,如文档中所述:

如果你需要尽快得到每个future的结果,或者如果你需要一些future的结果,即使其他future产生错误,你可以使用WaitIterator.

这正是我正在寻找的,我希望尽快获得每个未来的结果,因为我有一些任务比其他任务花费的时间更长,但有一个例外:那些缓慢的任务应该继续产生结果,以便我以后可以访问它们。

这甚至可能吗?

0 投票
0 回答
772 浏览

python - Python“concurrent.futures”线程的执行问题

简而言之,我编写了一个 Python 脚本,它尝试建立到大约 600 个网络设备的 SSH 连接(使用 Paramiko 模块),然后发出一个简单的命令,解析并返回输出。

我在没有线程的情况下运行了我的脚本,它按预期工作,所以我知道我的问题在于线程方面(或我对它的理解)。我之前唯一的线程经验是在 C...

这是我对期货的使用:

这是尝试 SSH 连接的函数:

现在一切正常。除了在第 153 次迭代时我的脚本似乎冻结了,大约 10 分钟后才恢复。在其余的执行过程中,这会断断续续地重复。

令我困惑的是,我最多有 10 个活动线程尝试 SSH 连接最多 10 次,每次尝试超时 10 秒。所以我的理解是,在最糟糕的情况下,单个线程会闲置 100 秒直到退出......既然情况并非如此,它是否与线程挂起或锁定有关?

0 投票
1 回答
571 浏览

python - concurrent.futures:确定哪些未来返回

我最近在处理 concurrent.futures,我在一个 executor 中提交了几个函数,我想知道哪个 future 先返回。

现在是主要部分,我想知道当 future_monitor 结束时,我会终止所有其他动作期货。

我在文档中找到了以下内容(https://docs.python.org/dev/library/concurrent.futures.html#concurrent.futures.as_completed):

,所以我可以等待 return_when=FIRST_COMPLETED ,但我如何确保它确实是显示器的未来。

tnx 提前!

0 投票
1 回答
1803 浏览

python - 使用 futures.ProcessPoolExecutor 而不是 futures.ThreadPoolExecutor 和 PRAW 包装器时的递归最大错误

我正在使用此代码来抓取 API:

它与线程一起工作得很好/很快,但是当我尝试使用进程时,我得到一个完整的队列并且这个错误:

请注意,最初这些过程对于小型数据检索工作得很好而且非常快,但现在它们根本不起作用。这是一个错误还是发生了什么,PRAW 对象会导致进程出现递归错误,但线程不会出现递归错误?

0 投票
1 回答
887 浏览

python - Concurrent.futures - 返回未定义导入模块的错误

我正在使用 concurrent.futures 对我正在编写的应用程序进行多线程处理。

我通过从 netaddr 导入 IPAddress 来启动应用程序:

接下来,我获取一些输入文件,并将它们全部传递到我的多线程函数中:

然后我等待完成结果并将它们附加到输出变量:

我遇到的问题是我不断从未来得到异常:

这是 ip_compare 函数:

知道为什么期货无法识别加载的模块吗?

当我的 IDE 因为错误而停止执行脚本时,我可以清楚地看到内存中定义了 IPAddress: