小编und*_*ent的帖子

在连续调用多个异步任务时,异步代码似乎部分阻塞(使用HttpClient)

我一直在努力学习C#与HttpClient的异步,并遇到了一个我无法弄清楚发生了什么的问题.

我想做的事:

  • 一次发送多个HttpClient请求,并在返回后立即单独处理响应.此过程将永远循环重复(即每隔几秒发送一批新请求).对结果进行的处理不是CPU密集型的,每次响应最多只需几毫秒.
  • 在任何一个实例中,数量是5-50个帖子
  • 不关心他们回来的顺序,但每个请求/响应必须尽可能快地处理而不会阻塞.

问题:

  • 每当我一起发送请求列表时,响应似乎要花费更长的时间,但它们应该大致相同.例如:

    所用时间:67.9609毫秒所用
    时间:89.2413毫秒所用
    时间:100.2345毫秒所用
    时间:117.7308毫秒所用
    时间:127.6843毫秒所用
    时间:132.3066毫秒所用
    时间:157.3057毫秒

什么时候它们应该只有70毫米左右...这对于每一批新产品都会重复; 第一个是快速的,然后每个连续的减速.

我的代码
有3个主要部分.我已经简化了它,我可以专注于问题发生的地方(Downloader.cs是我的时间)

  • Downloader.cs这包含执行实际http查询的方法:

    public async Task<string> DownloadData(string requestString)
    {
        HttpResponseMessage response;
        response = await this.httpClient.PostAsync( url, new StringContent( requestString ));
        string returnString = await response.Content.ReadAsStringAsync();
        return returnString;
    }
    
    Run Code Online (Sandbox Code Playgroud)
  • QueryAgent.cs这初始化一个新的Downloader并包含主异步循环调用函数和它在循环中调用的异步方法.
    我需要尽快发送新的请求,具体取决于最后一组响应的结果(基本上,请求发出的速率可能会发生变化,所以我不能在结束时执行Task.delay() while循环)

    public async Task DownloadLoopAsync() 
    {
        while ( this.isLooping )
        {
            // I put this here to stop it using lots of cpu. 
            // Not sure if it is best …
    Run Code Online (Sandbox Code Playgroud)

c# asynchronous task blocking async-await

9
推荐指数
1
解决办法
689
查看次数

我可以从WAL存档文件夹中安全删除哪些Postgresql WAL文件

现在的情况

所以我在运行Postgres的数据记录计算机上将WAL归档设置为独立的内部硬盘.包含WAL档案的硬盘正在填满,我想将所有WAL档案文件(包括初始基本备份)删除并存档到外部备份驱动器.

目录结构如下:

D:/ WALBACKUP /是所有WAL文件的父文件夹(00000110000.CA00000004等)

D:/ WALBACKUP/BASEBACKUP /保存初始基本备份的.tar

我的问题是:

  • 除了当前的WAL归档文件(000000000001.CA0000 ..等)(包括基本备份),我可以安全地移动每个WAL文件,并将它们移动到另一个硬盘.(注意数据库是实时的并且正在接收数据)

干杯!

postgresql archiving wal

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

Seaborn 到 .pdf 的热图非常慢。这是正常的吗?

尝试将一些实验数据保存到文件时,我注意到当尝试保存 NxN 大小的热图时,执行永远不会完成。进一步调查似乎是由于 .pdf 扩展名。例如,如果我使用 .png,它会非常快。

最小可重现示例:

import matplotlib.pylab as plt
import numpy as np
import seaborn as sbn

N=200
THE_FIGURE = plt.figure(figsize=(8.27, 6), dpi=300)
ax = plt.subplot(1, 1, 1)
sbn.heatmap(np.random.uniform(1, 20, (N, N)), ax=ax)
THE_FIGURE.savefig('image.pdf', bbox_inches='tight', pad_inches=0.1)
Run Code Online (Sandbox Code Playgroud)

即使当 N = 100 时,这种放缓也会变得明显。N = 1000 甚至没有发生。这是正常的吗?我该如何解决

谢谢!

pdf matplotlib seaborn

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