From 95a9a76598bb4bf852228dd1c147978a0ab22c44 Mon Sep 17 00:00:00 2001 From: Jack Robison Date: Thu, 19 Mar 2020 13:24:25 -0400 Subject: [PATCH] windows --- lbry/wallet/database.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lbry/wallet/database.py b/lbry/wallet/database.py index 0795003f1..4c733fa14 100644 --- a/lbry/wallet/database.py +++ b/lbry/wallet/database.py @@ -2,6 +2,7 @@ import os import logging import asyncio import sqlite3 +import platform from binascii import hexlify from dataclasses import dataclass from contextvars import ContextVar @@ -51,11 +52,14 @@ def run_read_only_fetchone(sql, params): raise -READER_EXECUTOR_CLASS = ThreadPoolExecutor if 'ANDROID_ARGUMENT' in os.environ else ProcessPoolExecutor +if platform.system() == 'Windows' or 'ANDROID_ARGUMENT' in os.environ: + ReaderExecutorClass = ThreadPoolExecutor +else: + ReaderExecutorClass = ProcessPoolExecutor class AIOSQLite: - reader_executor: READER_EXECUTOR_CLASS + reader_executor: ReaderExecutorClass def __init__(self): # has to be single threaded as there is no mapping of thread:connection @@ -76,7 +80,7 @@ class AIOSQLite: db.writer_connection = sqlite3.connect(path, *args, **kwargs) readers = max(os.cpu_count() - 2, 2) - db.reader_executor = READER_EXECUTOR_CLASS( + db.reader_executor = ReaderExecutorClass( max_workers=readers, initializer=initializer, initargs=(path, ) ) await asyncio.get_event_loop().run_in_executor(db.writer_executor, _connect_writer)