loopbackio / loopbackio/loopback-datasource-juggler

shortid dependency uses cluster mode and hence loopback cannot run in Passenger

オープン
#1,907 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

feature
主要言語
JavaScript
スター
282
フォーク
366
平均マージ
17時間 4分
マージ済み PR(30日)
10

説明

## Suggestion
shortid package uses nodes cluster mode. Passenger deployment environment does not support/allow for Nodes cluster mode. This becomes a blocker even when the shortid package feature not being used.

## Use Cases
loopback API to be deployed in Passenger environment.

## Examples
App 5797 output: Trace: You required the Node Cluster module, which is incompatible with Passenger, a non-functional shim was returned and your app may still work. However, please remove the related code as soon as possible.
App 5797 output: at Console.trace (internal/console/constructor.js:336:11)
App 5797 output: at Module.require (/opt/cpanel/ea-ruby27/root/usr/share/passenger/helper-scripts/node-loader.js:63:12)
App 5797 output: at require (internal/modules/cjs/helpers.js:14:16)
App 5797 output: at Object. (/home/bangal41/nodevenv/cms_api_prod/11/lib/node_modules/shortid/lib/util/cluster-worker-id.js:3:15)
App 5797 output: at Module._compile (internal/modules/cjs/loader.js:816:30)
App 5797 output: at Object.Module._extensions..js (internal/modules/cjs/loader.js:827:10)
App 5797 output: at Module.load (internal/modules/cjs/loader.js:685:32)
App 5797 output: at Function.Module._load (internal/modules/cjs/loader.js:620:12)
App 5797 output: at Module.require (internal/modules/cjs/loader.js:723:19)
App 5797 output: at Module.require (/opt/cpanel/ea-ruby27/root/usr/share/passenger/helper-scripts/node-loader.js:80:25)
App 5797 output: (node:5797) ExperimentalWarning: queueMicrotask() is experimental.

## Acceptance criteria

TBD - will be filled by the team.

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、Passenger のスタックトレースに示されている shortid 依存関係と cluster-worker-id.js のパスを追跡します。アプリケーションの起動時に依存関係がどのように読み込まれるか、またリポジトリに識別子の生成またはデプロイ互換性を対象とするテストがあるかを確認します。完了の定義はチームが決めるものとします。Passenger は互換性のない Node の cluster モジュールを必要とせずに起動し、識別子の動作は維持される必要があります。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript, node.js
領域
backend, infrastructure
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。