Skip to content

Releases: J-Hoplin/Puppeteer-Pool-Manager

v2.1.1

07 Jun 03:43
f78cc90

Choose a tag to compare

Threshold 검사시 CPU 검사 제외

Version 2.1.0 for Linkit

03 May 17:38

Choose a tag to compare

  • Client Class의 모든 API는 static function으로 교체 -> 인스턴스 관리포인트 난해해질 수 있는 점 방지
  • 각 Task가 끝날때마다 Heap Garbage Collector실행하도록 적용 (관련문서)
  • Task Queue Type에 Priority Task 추가 및 Queue 인터페이스 추상화

v2.0.8-beta

08 Feb 06:17
d068905

Choose a tag to compare

  • Change Puppeteer.start to get option paramters as Object Type Parameter
    type PuppeteerPoolStartOptions = {
      /**
       * Number of concurrency,
       * Default is 3
       */
      concurrencyLevel: number;
      /**
       * Context mode
       * Default is ContextMode.SHARED
       */
      contextMode: ContextMode;
      /**
       * Puppeteer launch options
       * Default is {}
       */
      options?: puppeteer.LaunchOptions;
      /**
       * Custom config path
       */
      customConfigPath?: string;
      /**
       * Enable log
       * Default is true
       */
      enableLog?: boolean;
      /**
       * Log level
       * Default is LogLevel.DEBUG
       */
      logLevel?: LogLevel;
    };
  • Enhanced Concurrency Control
    • Emit tasks in batch
  • Fully remove pino logger dependency and implement custom logger
    • User can set log enabled and log level in PuppeteerPool.start() function

v2.0.8

08 Feb 05:32
e1300ea

Choose a tag to compare

  • Enhanced Concurrency Control
    • Emit tasks in batch
  • Fully remove pino logger dependency and implement custom logger
    • User can set log enabled and log level in PuppeteerPool.start() function

v2.0.7

05 Feb 17:19
3c48bf7

Choose a tag to compare

  • Change context state management from weakmap to Instance Metadata reflection
  • Add context timeout block to config
  • Fix dispatchTask type annotation

v2.0.6

04 Feb 17:03
e6b3f2e

Choose a tag to compare

  • Update user not to use TaskDispatcher directly, Instead use PuppeteerPool class for client user
  • Fix problem for not emit tasks as much as it could after restart.(To maximize resource utilization)
  • Fix problem not to emit task and only enqueue task while dispatcher state is restarting
  • Remove event handler from dispatchTask method.
    • To remove user to handle events, for potentially affecting internal behavior

Version 2.0.3

03 Feb 17:09

Choose a tag to compare

Contents

  • Whole Project Refactoring
  • No longer support for multiple browser level Pooling (Stability Issue)
    • Instead, support two different contexts
      1. Shared Context
      2. Isolated Context
  • No longer support for individual context metrics monitoring (Stability Issue)
  • Remove generic-pools package dependencies, and implement whole data strctures for this project.
  • Leverage Node.js EventEmitter to change internal operation for flexible asynchronous handling
  • Support Reflection based Decorators for Context Classes and ensure each method to be invoke with proper states(Integrity)

Notice

Most of the APIs and internal operation are fully changed. Please read Readme.md to use this release.

Version 1.1.4 Release

26 Sep 13:46

Choose a tag to compare

Changes

  • All logging of Threshold Watcher logs overrate based on 'Break' (CPU, Memory)
  • Export exceptions of pool to user

Bug Fix

  • Currently, there was a problem where it's not able to recursively detect the process in each single pool. This release fixed this problem. As a result, the previously invalid default config was changed and added to Readme. And also after update package, please re configure your custom config file.

v1.1.2

05 Sep 13:49
46e67e0

Choose a tag to compare

Features

  • Validation: Config에 대한 Validator들이 내장되었습니다. 자세한건 Config Document를 참고해주세요.(1.1.1)

Fixes

  • Threshold refresh logic을 변경하였습니다(1.1.1)
    • 기존에 Session Pool이 Refresh되었을때 Manger와 Pool간의 연결 유실이 되는 버그가 발견되어 수정하였습니다
  • Reboot 호출이 여러번 되는 현상을 제거하였습니다(1.1.2)

v1.0.2

02 Sep 11:51

Choose a tag to compare

  • 경량화: dayjs의존성 제거
  • DX(Developer Experience)개선: Session Callback Type Inference (v1.0.2-beta)