loopbackio / loopbackio/loopback-datasource-juggler

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

Aperta
#1,907 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

feature
Lingua principale
JavaScript
Stelle
282
Fork
366
Merge medio
17h 4m
PR unite (30g)
10

Descrizione

## 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.

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia tracciando la dipendenza shortid e il percorso cluster-worker-id.js mostrati nello stack trace di Passenger. Verifica come viene caricata la dipendenza durante l’avvio dell’applicazione e se il repository contiene test che coprono la generazione degli identificatori o la compatibilità con il deployment. Il team dovrebbe definire cosa si intende per completato: Passenger dovrebbe avviarsi senza richiedere il modulo cluster incompatibile di Node, mantenendo invariato il comportamento degli identificatori.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
javascript, node.js
Ambito
backend, infrastructure
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.