fix: properly use date-fns difference functions
[e-mobility-charging-stations-simulator.git] / src / worker / WorkerConstants.ts
index 9a1caf8eae5cb69c9d4282ca4a9e1e9c54425c36..dcbe2ca43caa3faec645c6e693dc04f1cb8b93f2 100644 (file)
@@ -1,8 +1,20 @@
-export default class WorkerConstants {
-  static readonly DEFAULT_ELEMENT_START_DELAY = 0;
-  static readonly DEFAULT_WORKER_START_DELAY = 500;
-  static readonly POOL_MAX_INACTIVE_TIME = 60000;
-  static readonly DEFAULT_POOL_MIN_SIZE = 4;
-  static readonly DEFAULT_POOL_MAX_SIZE = 16;
-  static readonly DEFAULT_ELEMENTS_PER_WORKER = 1;
+import { availableParallelism } from 'poolifier';
+
+export class WorkerConstants {
+  public static readonly EMPTY_FUNCTION = Object.freeze(() => {
+    /* This is intentional */
+  });
+
+  public static readonly DEFAULT_ELEMENT_START_DELAY = 0;
+  public static readonly DEFAULT_WORKER_START_DELAY = 500;
+  public static readonly POOL_MAX_INACTIVE_TIME = 60000;
+  public static readonly DEFAULT_POOL_MIN_SIZE = Math.floor(availableParallelism() / 2);
+  public static readonly DEFAULT_POOL_MAX_SIZE = Math.round(availableParallelism() * 1.5);
+  public static readonly DEFAULT_ELEMENTS_PER_WORKER = 1;
+
+  public static readonly version = '1.0.1';
+
+  private constructor() {
+    // This is intentional
+  }
 }