小编Bru*_*mas的帖子

是否可以使用ansible playbook禁用vault?

出于自动化测试的目的,我想在执行 ansible-playbook 时禁用保管库,以便在测试中覆盖加密变量。

我见过--ask-vault-pass但没有看到相反的即--no-vault-pass或类似的东西。

ansible设置没有指定环境变量来执行此操作。

testing ansible ansible-vault

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

如何使用JsTestDriver测试jquery和ajax调用?

我有一个用jQuery构建的动态页面.从胡子模板加载Html片段.这些模板是从网址下载的,我想对整个html结构进行单元测试:

JsTestDriver测试是:

AppTest = TestCase("AppTest")

AppTest.prototype.test = function() {
    var actualHtml = "";

    getHtml({ "title": "title", "header": "header", "text": "text", "authors": [ {"firstname": "firstname", "lastname": "lastname"} ] }, function(html) {
        actualHtml = html;
    });

    assertEquals("expected html", actualHtml);
};
Run Code Online (Sandbox Code Playgroud)

和代码:

function getHtml(json, resultFunc) {
   jQuery.ajax({
            url: "url/to/mustache/template",
            success: function(view) {
                    resultFunc(mergeArticleModelAndView(json, view));
            },
            error: function(jqXHR, textStatus, errorThrown) {
                    resultFunc(textStatus + " errorThrown: " + errorThrown);
            },
            dataType: 'text',
            async: false 
    });
}
Run Code Online (Sandbox Code Playgroud)

然后我启动测试,结果是:

$ java -jar JsTestDriver-1.3.2.jar --port 9876 …
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery js-test-driver

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

RabbitMQ消息使用者停止使用消息

我们的团队处于尖峰冲刺阶段,可以在ActiveMQ或RabbitMQ之间进行选择.我们制作了2个小生产者/消费者峰值,发送一个包含16个字符串,时间戳和2个整数的数组的对象消息.我们的开发机器上的峰值是可以的(消息很好用).

然后是替补席.我们首先注意到,在我们的机器上,当我们发送大量消息时,消费者有时会挂起.它就在那里,但是垃圾堆积在队列中.

当我们进入板凳平台时:

  • 集群的2台rabbitmq机器4核/ 3.2Ghz,4Gb RAM,由VIP负载均衡
  • 在rabbitmq机器上运行的一到六个消费者,将消息保存在mysql DB中(DB的相同类型的机器)
  • 在12台AS机器(tomcat)上运行的12个生产者,在另一台机器上运行的jmeter攻击.在产生相同RabbitMQ消息负载的servlet上,负载大约是每秒600到700个http请求.

我们注意到有时候,消费者会挂起(好吧,他们没有被阻止,但他们不再消费消息).我们可以看到,因为每个消费者在数据库中节省大约100 msg /秒,所以当一个人停止消费时,每秒在DB中保存的整体消息会以相同的比率下降(如果让3个消费者停止,我们会下降到大约600 msg /秒至300毫秒/秒).

在此期间,生产商可以,并仍然以jmeter速率(约600毫克/秒)生产.消息在队列中并由消费者保持"活着".

我们先将所有servlet加载到生成器,然后逐个启动所有使用者,检查连接是否正常,然后运行jmeter.

我们正在向一个直接交换机发送消息.所有消费者都在监听与交易所有关的一个持久队列.

这一点对我们的选择很重要.你有没有看过Rabbitmq,你知道发生了什么吗?

谢谢您的回答.

benchmarking amqp rabbitmq

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

带串行设备的asyncio python需要100%的CPU

当我从rfxcom python库运行这个小主要时:

from asyncio import get_event_loop
from rfxcom.transport import AsyncioTransport

dev_name = '/dev/serial/by-id/usb-RFXCOM_RFXtrx433_A1XZI13O-if00-port0'
loop = get_event_loop()

def handler(packet):
    print(packet.data)

try:
    rfxcom = AsyncioTransport(dev_name, loop, callback=handler)
    loop.run_forever()
finally:
    loop.close()
Run Code Online (Sandbox Code Playgroud)

我看到CPU使用率变得非常高(大约100%).我无法理解为什么:模块收到的消息很少(每5秒约1条消息),我认为当调用epoll_wait时,CPU应该闲置,等待下一个事件.

我用python cProfile启动了main,它显示了这个:

In [4]: s.sort_stats('time', 'module').print_stats(50)
Mon Jul 20 22:20:55 2015    rfxcom_profile.log

     263629453 function calls (263628703 primitive calls) in 145.437 seconds

   Ordered by: internal time, file name
   List reduced from 857 to 50 due to restriction <50>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
 13178675   37.280    0.000  141.337 …
Run Code Online (Sandbox Code Playgroud)

python epoll python-asyncio

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