From 055685e78528aaf6b57ce70c4cc0221f5c0f37a3 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 24 Feb 2020 22:38:07 +0530 Subject: fall back to synchronous workers on old nodejs --- src/headless/helpers.ts | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'src/headless/helpers.ts') diff --git a/src/headless/helpers.ts b/src/headless/helpers.ts index 6832cd4f4..a5dad3856 100644 --- a/src/headless/helpers.ts +++ b/src/headless/helpers.ts @@ -34,6 +34,7 @@ import { WalletNotification, NotificationType } from "../types/notifications"; import { Database } from "../util/query"; import { NodeHttpLib } from "./NodeHttpLib"; import { Logger } from "../util/logging"; +import { SynchronousCryptoWorkerFactory } from "../crypto/workers/synchronousWorker"; const logger = new Logger("helpers.ts"); @@ -113,14 +114,19 @@ export async function getDefaultNodeWallet( const myDb = await openTalerDatabase(myIdbFactory, myVersionChange); - //const worker = new SynchronousCryptoWorkerFactory(); - //const worker = new NodeCryptoWorkerFactory(); - - const worker = new NodeThreadCryptoWorkerFactory(); + let workerFactory; + try { + // Try if we have worker threads available, fails in older node versions. + require("worker_threads") + workerFactory = new NodeThreadCryptoWorkerFactory(); + } catch (e) { + console.log("worker threads not available, falling back to synchronous workers"); + workerFactory = new SynchronousCryptoWorkerFactory(); + } const dbWrap = new Database(myDb); - const w = new Wallet(dbWrap, myHttpLib, worker); + const w = new Wallet(dbWrap, myHttpLib, workerFactory); if (args.notifyHandler) { w.addNotificationListener(args.notifyHandler); } -- cgit v1.2.3