小编gui*_*lem的帖子

限制 ansible playbook 任务并发

我正在同时使用 ansible 更新多个主机,但是我有一个限制...

我必须从一个公共存储库下载工件,同时下载不超过 3 个!

我目前的解决方案是将整个剧本限制为最多三个并发任务

strategy: linear
serial: 3
Run Code Online (Sandbox Code Playgroud)

是否可以仅针对特定任务步骤而不是整个剧本来限制并发?

concurrency download ansible

8
推荐指数
1
解决办法
5653
查看次数

不同的参数大小会导致查询计划缓存效率低下

Nhibernate探查器显示有关查询计划的大量错误消息:

不同的参数大小会导致查询计划缓存使用效率低下

它还会引导您在http://nhprof.com/Learn/Alerts/UncachedQueryPlan中进行解释,并prepare_sql = true在构建会话时警告您使用参数.我这样做是流利的:

.ExposeConfiguration(configuration => configuration
    .SetProperty("current_session_context_class", "thread_static")
    .SetProperty("prepare_sql", "true")
    .SetProperty("generate_statistics", "true")
    )
Run Code Online (Sandbox Code Playgroud)

但似乎它没有工作,因为错误消息仍然存在.这是对OracleClientConfiguration的限制还是我做错了?

编辑提供有关此内容的更多信息......

在我的存储库中,我这样做

session.Query<TEntity>.Where(predicate).ToList();
Run Code Online (Sandbox Code Playgroud)

这就是电话

var value = ParameterRepository.First(p => (p.Pipeline.Id == pipelineId && p.Name == name));
Run Code Online (Sandbox Code Playgroud)

例如,这些是从此调用生成的两个SQL,并且nhibernate profiler显示为"不同的参数大小导致查询计划缓存使用效率低下"

select GUID1_12_,
       PARAMETER2_12_,
       PARAMETER3_12_,
       GUID4_12_
from   (select pipelineex0_.GUID_PIPELINE_EXEC_PARAMETER as GUID1_12_,
               pipelineex0_.PARAMETER_NAME               as PARAMETER2_12_,
               pipelineex0_.PARAMETER_VALUE              as PARAMETER3_12_,
               pipelineex0_.GUID_PIPELINE_TRACKING       as GUID4_12_
        from   FCT_PIPELINE_EXEC_PARAMETER pipelineex0_
        where  pipelineex0_.GUID_PIPELINE_TRACKING = 'A5916E73CF1E406DA26F65C24BFBF694' /* :p0 */
               and pipelineex0_.PARAMETER_NAME = 'lid' /* :p1 */)
where  rownum <= 1 /* …
Run Code Online (Sandbox Code Playgroud)

oracle nhibernate fluent-nhibernate sql-execution-plan

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

具有多个维度的 Azure 日志分析时间表

Azure 新的日志分析查询平台中,您可以查询性能计数器并汇总它们以最终创建一个漂亮的图表。

按照多维文档示例,它说

by 子句中的多个表达式创建多行,每个值组合对应一个行。

我想在他们的示例数据库中查询每台计算机发送和接收的网络字节数。从这个查询开始它应该是这样的

Perf | where TimeGenerated > ago(1d) | where (CounterName == "Bytes Received/sec" or CounterName == "Bytes Sent/sec") | summarize avg(CounterValue) by bin(TimeGenerated, 1h), Computer, CounterName | extend Threshold = 20 | render timechart

问题是Send 和 Received 字节在计算机级别的图形中被分组

如何按照文档中的说明表示多个维度,以便我将Computer X Bytes SendComputer X Bytes Received而不是将它们组合在一起,这没有任何意义?

发送和接收的字节在图中混合

更不用说在以前的版本中这是按预期工作的。

azure azure-log-analytics

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

与范围内的物品对应

我想用ansible实现这样的事情

- debug:
    msg: "{{ item }}"
  with_items:
    - "0"
    - "1"
Run Code Online (Sandbox Code Playgroud)

但是要从range(2)生成,而不是对迭代进行硬编码。你会怎么做?

loops ansible

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

Mock ServiceProvider GetServices

我很难测试使用 .net 核心ServiceProvider返回特定实现的工厂给定一些逻辑。

using (var scope = _serviceProvider.CreateScope())
{
    var services = scope.ServiceProvider.GetServices<IUrlProcessor>();
}
Run Code Online (Sandbox Code Playgroud)

我部分有这个

var serviceProvider = new Mock<IServiceProvider>();
serviceProvider.Setup(m => m.GetService(typeof(IEnumerable<IUrlProcessor>)))
    .Returns(new List<IUrlProcessor>() {
        new PassthruProcessor()
    });
Run Code Online (Sandbox Code Playgroud)

GetServices似乎工作,但CreateScope通话刚得来的异常。这是一个扩展方法,我不知道我应该模拟的确切类是什么,以便CreateScope调用正常工作。

c# dependency-injection moq asp.net-core

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