Python: Stockfish открывает слишком много процессов - PullRequest
0 голосов
/ 30 октября 2019

Я получаю: OSError: [Errno 24] Too many open files и stockfish создает слишком много процессов. Как я могу это исправить?

Это часть моего кода, которая делает ошибку:

import chess.engine

def stockfish(board, time_limit = 0.1):
    engine = chess.engine.SimpleEngine.popen_uci("stockfish/stockfish_10_x64")
    result = engine.analyse(board, chess.engine.Limit(time=time_limit, depth=0))
    score = str(result["score"])
    if "#" in score:
        return 999*int(abs(int(score[1:]))/int(score[1:]))
    else:
        return int(score)

def stockfish_from_fen(fen, time_limit = 0.1):
    import chess
    board = chess.Board(fen)
    return stockfish(board, time_limit)

while True:
    print(stockfish_from_fen("8/8/8/5k2/8/3K4/2Q5/8 b - - 0 1"))

A lot of

...