小编akn*_*ds1的帖子

为什么我不能在asyncio事件循环运行时捕获SIGINT?

在Windows上使用Python 3.4.1,我发现在执行asyncio事件循环时,我的程序不能被中断(即在终端中按Ctrl + C).更重要的是,SIGINT信号被忽略.相反,我已经确定在不在事件循环中时处理SIGINT.

为什么执行asyncio事件循环时会忽略SIGINT?

下面的程序应该演示问题 - 在终端中运行它并尝试通过按Ctrl + C来停止它,它应该继续运行:

import asyncio
import signal


# Never gets called after entering event loop
def handler(*args):
    print('Signaled')


signal.signal(signal.SIGINT, handler)

print('Event loop starting')
loop = asyncio.SelectorEventLoop()
asyncio.set_event_loop(loop)
loop.run_forever()
print('Event loop ended')
Run Code Online (Sandbox Code Playgroud)

请参阅官方(郁金香)邮件列表上的讨论.

windows signals event-loop python-3.4 python-asyncio

12
推荐指数
2
解决办法
3547
查看次数

如何通过kubectl代理访问此Kubernetes服务?

我想通过kubectl代理服务器访问我的Grafana Kubernetes服务,但由于某种原因,即使我可以使其适用于其他服务,它也无法工作.鉴于以下服务定义,为什么它不能在http:// localhost:8001/api/v1/proxy/namespaces/monitoring/services/grafana上找到

grafana-service.yaml

apiVersion: v1
kind: Service
metadata:
  namespace: monitoring
  name: grafana
  labels:
    app: grafana
spec:
  type: NodePort
  ports:
  - name: web
    port: 3000
    protocol: TCP
    nodePort: 30902
  selector:
    app: grafana
Run Code Online (Sandbox Code Playgroud)

grafana-deployment.yaml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  namespace: monitoring
  name: grafana
spec:
  replicas: 1
  template:
    metadata:
      labels:
        app: grafana
    spec:
      containers:
      - name: grafana
        image: grafana/grafana:4.1.1
        env:
        - name: GF_AUTH_BASIC_ENABLED
          value: "true"
        - name: GF_AUTH_ANONYMOUS_ENABLED
          value: "true"
        - name: GF_SECURITY_ADMIN_USER
          valueFrom:
            secretKeyRef:
              name: grafana-credentials
              key: …
Run Code Online (Sandbox Code Playgroud)

proxy kubernetes kubectl

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

我应该如何将Java与Windows应用程序捆绑在一起?

我有一个基于Java的Windows应用程序,我想用Java捆绑安装.安装框架是NSIS.应该保证应用程序可执行文件调用捆绑的Java,因此不会与系统中安装的其他Java发生冲突.

实现目标的最佳方法是什么?我之前没有尝试解决这类问题,并且对Java几乎没有经验,所以我不知道那里有哪些解决方案.如果可行的话,我想我更喜欢将Java嵌入到应用程序的可执行文件中,否则我猜Java可以与它一起安装(可执行文件指向Java).

编辑: 此项目已通过NSIS生成可执行文件(.exe).可执行文件默认使用系统Java,但显然它更喜欢同一目录中的JRE(即捆绑)(如果存在).

编辑2:让我想用这个应用程序捆绑Java的场景是我收到了一个用32位Java构建的可执行文件,它在我的64位Java系统上失败了(静默).

java windows installation

11
推荐指数
1
解决办法
5488
查看次数

如何从Visual Studio 2012项目中删除Fakes程序集?

我通过"Add Fakes Assembly"参考上下文菜单选项将一个Fakes程序集添加到Visual Studio 2012 C#单元测试项目中.什么是完全删除Fakes程序集的过程,即撤消我将其添加到项目中的过程?

c# unit-testing microsoft-fakes visual-studio-2012

11
推荐指数
2
解决办法
5327
查看次数

如何断言C#异步方法在单元测试中抛出异常?

可能重复:
如何使用NUnit测试异步方法,最终使用另一个框架?

我想知道的是如何断言异步方法在C#单元测试中抛出异常?我能够Microsoft.VisualStudio.TestTools.UnitTesting在Visual Studio 2012中编写异步单元测试,但还没有弄清楚如何测试异常.我知道xUnit.net也以这种方式支持异步测试方法,尽管我还没有尝试过这个框架.

以我的意思为例,以下代码定义了被测系统:

using System;
using System.Threading.Tasks;

public class AsyncClass
{
    public AsyncClass() { }

    public Task<int> GetIntAsync()
    {
        throw new NotImplementedException();
    }
}    
Run Code Online (Sandbox Code Playgroud)

此代码段定义了一个测试TestGetIntAsyncAsyncClass.GetIntAsync.这是我需要输入如何完成GetIntAsync抛出异常的断言的地方:

using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Threading.Tasks;

[TestClass]
public class TestAsyncClass
{
    [TestMethod]
    public async Task TestGetIntAsync()
    {
        var obj = new AsyncClass();
        // How do I assert that an exception is thrown?
        var rslt = await obj.GetIntAsync();
    }
}
Run Code Online (Sandbox Code Playgroud)

如果需要,可以随意使用一些其他相关的单元测试框架,而不是Visual Studio,如xUnit.net,或者你会认为这是一个更好的选择.

c# unit-testing exception async-await .net-4.5

11
推荐指数
2
解决办法
6445
查看次数

如何在IE 8中获取JavaScript异常的堆栈跟踪?

当在IE 8中抛出JavaScript异常时,如何查看其堆栈跟踪?

例如,jQuery中的以下代码捕获异常并重新抛出它.在Visual Studio(2012)中进行调试时,执行会在jQuery捕获异常('e')时中断,但我不能在生命中看到异常源自的堆栈跟踪:

// resolve with given context and args
resolveWith: function( context, args ) {
    if ( !cancelled && !fired && !firing ) {
        firing = 1;
        try {
            while( callbacks[ 0 ] ) {
                callbacks.shift().apply( context, args );
            }
        }
        // We have to add a catch block for
        // IE prior to 8 or else the finally
        // block will never get executed
        catch (e) {
            throw e;
        }
        finally {
            fired = [ context, args …
Run Code Online (Sandbox Code Playgroud)

javascript debugging exception stack-trace internet-explorer-8

11
推荐指数
1
解决办法
5912
查看次数

在CoreOS cloud-config中执行命令(例如添加交换)

我看到,与标准cloud-config文件不同,runcmdCoreOS cloud-config文件中没有选项.目前,我通过向我添加以下内容来启用CoreOS机器上的交换cloud-config:

units:
    - name: swap.service
      command: start
      content: |
        [Unit]
        Description=Turn on swap

        [Service]
        Type=oneshot
        Environment="SWAPFILE=/1GiB.swap"
        RemainAfterExit=true
        ExecStartPre=/usr/sbin/losetup -f ${SWAPFILE}
        ExecStart=/usr/bin/sh -c "/sbin/swapon $(/usr/sbin/losetup -j ${SWAPFILE} | /usr/bin/cut -d : -f 1)"
        ExecStop=/usr/bin/sh -c "/sbin/swapoff $(/usr/sbin/losetup -j ${SWAPFILE} | /usr/bin/cut -d : -f 1)"
        ExecStopPost=/usr/bin/sh -c "/usr/sbin/losetup -d $(/usr/sbin/losetup -j ${SWAPFILE} | /usr/bin/cut -d : -f 1)"

        [Install]
        WantedBy=local.target
Run Code Online (Sandbox Code Playgroud)

然后在初始化我的CoreOS映像后,我必须ssh进入机器并运行:

sudo fallocate -l 1024m /1GiB.swap && sudo chmod 600 /1GiB.swap \
&& …
Run Code Online (Sandbox Code Playgroud)

swapfile systemd digital-ocean coreos

11
推荐指数
2
解决办法
2895
查看次数

当找不到元素时,是否有可能让jQuery抛出异常?

我是jQuery的新手,我想简化它无法找到的元素的处理,这是一个相当常见的问题.以下代码显示了我的意思:

var category = $('select#Category');
Run Code Online (Sandbox Code Playgroud)

现在,我可以检查返回的变量以查看是否找不到它,但我肯定更喜欢在这种情况下自动抛出异常.这有可能与jQuery一起使用吗?如果没有,是否有一些常见的习惯用于在jQuery之上实现这样的自动错误检查?

jquery exception undefined

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

如何查询NLog日志文件的路径?

我为NLog配置了一个文件目标,如下所示:

<targets>
  <target name="asyncFile" xsi:type="AsyncWrapper">
    <target xsi:type="File" name="logfile" fileName="${basedir}/Logs/${shortdate}.log"
          layout="${longdate} ${uppercase:${level}} ${message}" />
  </target>    
</targets>
Run Code Online (Sandbox Code Playgroud)

如何通过NLog的API 查询fileNameFile目标的实际文件系统路径()?

.net nlog

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

当jshint发出警告时,如何使Webpack退出并出现错误?

使用jshint装载机的WebPack,我怎么做webpack时JSHint发出警告命令失败?

如果linting检测到问题,我希望CI构建失败.

目前,我只是将Webpack配置为在预加载JS文件时运行jshint-loader:

// webpack.config.js
module.exports = {
  module: {
    preLoaders: [
      {
        test: /\.js/,
        exclude: /node_modules/,
        loader: 'jshint-loader',
      },
    ],
  },
};
Run Code Online (Sandbox Code Playgroud)

javascript continuous-integration jshint webpack

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