小编Ale*_*der的帖子

为什么我不能从多处理队列中捕获Queue.Empty异常?

我正在尝试捕获如果multiprocessing.Queue为空时引发的Queue.Empty异常.以下不起作用:

import multiprocessing
f = multiprocessing.Queue()
try:
      f.get(True,0.1)
except Queue.Empty:
      print 'foo'
Run Code Online (Sandbox Code Playgroud)

这给了我一个名称错误:NameError:名称'Queue'未定义

用multiprocessing.Queue.Empty替换Queue.Empty也没有帮助.在这种情况下,它给了我一个"AttributeError:'function'对象没有属性'Empty'"异常.

python exception-handling python-2.7

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

无论如何都要发现哪些IP地址连接到数据库?

我可以通过确定当前的连接数

db.serverStatus().connections
Run Code Online (Sandbox Code Playgroud)

但所有这些都是我当前的连接数.有没有什么可以确定哪些ips已连接以及它们已分配给哪个连接号?

mongodb

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

为Apache Spark指定外部配置文件

我想在配置文件中指定所有Spark的属性,然后在运行时加载该配置文件.

~~~~~~~~~~编辑~~~~~~~~~~~

事实证明我对如何去做这件事非常困惑.忽略这个问题的其余部分.要查看有关如何将.properties文件加载到spark集群的简单解决方案(在Java Spark中),请参阅下面的答案.

以下原始问题仅供参考.

~~~~~~~~~~~~~~~~~~~~~~~~

我想要

  • 不同的配置文件取决于环境(本地,aws)
  • 我想指定特定于应用程序的参数

举个简单的例子,假设我想根据字符串过滤日志文件中的行.下面我有一个简单的Java Spark程序,它从文件中读取数据并根据用户定义的字符串对其进行过滤.该程序采用一个参数,即输入源文件.

Java Spark代码

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.api.java.function.Function;

public class SimpleSpark {
    public static void main(String[] args) {
        String inputFile = args[0]; // Should be some file on your system

        SparkConf conf = new SparkConf();// .setAppName("Simple Application");
        JavaSparkContext sc = new JavaSparkContext(conf);
        JavaRDD<String> logData = sc.textFile(inputFile).cache();

        final String filterString = conf.get("filterstr");

        long numberLines = logData.filter(new Function<String, Boolean>() {
            public Boolean call(String s) {
                return s.contains(filterString);
            }
        }).count(); …
Run Code Online (Sandbox Code Playgroud)

java amazon-web-services apache-spark

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

如果我在上一次运行退出后立即重新启动,则socket.accept()中的参数异常无效

我有一个用python编写的客户端服务器架构.大部分时间它工作正常,但有时,在我停止服务器并在之后立即重新启动它时,我收到以下错误:

接受失败,原因是:22消息无效参数,错误:[Errno 22]参数无效

但是,如果我等待几分钟并再次启动相同的脚本而没有任何更改,它可以正常工作.

这是我在服务器上用来接受来自客户端的传入连接的循环:

try:
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.bind(('',port))
    s.listen(1)
except:
    #logError()

while True:
    try:
        conn, address = s.accept() #THIS ACCEPT FAILS SOMETIMES
        multiprocessing.Process(target=HandleConnection, args=(conn, address, messageQueue, taskQueue, IOLock, numberOfConnections, numberOfConnectionsLock,resultsDirectory)).start()
    except socket.error, msg:
      #logError()  -> this except catches the error
Run Code Online (Sandbox Code Playgroud)

运行服务器后端口是否会被阻塞一段时间?如果是这样,是有办法查询,如果口堵住,等待,直到它的畅通,如果我想之后立即它只是退出再次启动服务器吗?

python sockets

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

对于Android平台上的蓝牙套接字,无法使用InputStream创建ObjectInputStream

我正在为Android手机编写多人游戏.通过蓝牙进行通信.我已设法使用输入/输出流将字节从一个电话发送到另一个电话.因为我需要能够传输我想要的对象流的对象.但是,当我尝试使用我的流创建一个Objectstream时,我的程序挂起了指令.

public class ConnectedThread extends Thread {
private static final String TAG = "Connected Thread";
private final BluetoothSocket mmSocket;
private final InputStream mmInStream;
private final OutputStream mmOutStream;
private Handler mHandler;
private ObjectInputStream ois;
private ObjectOutputStream oos;

public ConnectedThread(BluetoothSocket socket,Handler h) {
    mmSocket = socket;
    mHandler = h;

    InputStream tmpIn = null;
    OutputStream tmpOut = null;

    // Get the input and output streams, using temp objects because
    // member streams are final
    try {
        tmpIn = socket.getInputStream();
        tmpOut = socket.getOutputStream();
    } …
Run Code Online (Sandbox Code Playgroud)

java android bluetooth objectoutputstream objectinputstream

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

给定一个元组列表,返回元组的第一个值的新列表

我有一个元组列表,我想要一个由元组的第一个值组成的新列表.

即如果列表是:

[(1,5),(4,10),(100,3),(4,8)]

我想创建以下列表:

[1,4,100,4]

以下代码有效:

a = [(1,5),(4,10),(100,3),(4,8)]
l = []
for i in range(len(a)):
    l.append(a[i][0])
Run Code Online (Sandbox Code Playgroud)

但似乎应该有更好的方法,例如:

l = itertools.chain(for i in range(len(a)) a[i][0]) #This won't work
Run Code Online (Sandbox Code Playgroud)

python

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