μ»΄νμΌλ¬λ νκ²½ λ³μλ₯Ό μ¬μ©νμ¬ νμΌκ³Ό λλ ν°λ¦¬λ₯Ό κ°μνλ λ°©λ² κ΅¬μ±μ μ§μν©λλ€.
νκ²½ λ³μ TSC_WATCHFILEμ μ¬μ©νμ¬ νμΌ κ°μ μ€μ (Configuring file watching using environment variable TSC_WATCHFILE)
| μ΅μ | μ€λͺ |
|---|---|
PriorityPollingInterval |
fs.watchFileμ μ¬μ©νμ§λ§ μμ€ νμΌ, μ€μ νμΌ λ° λλ½λ νμΌμ λν΄ λ€λ₯Έ ν΄λ§ μ£ΌκΈ°(polling intervals)λ₯Ό μ¬μ©ν©λλ€. |
DynamicPriorityPolling |
μμ£Ό μμ λλ νμΌμ μμ£Ό ν΄λ§νκ³ λ³κ²½λμ§ μμ νμΌμ λ μμ£Ό ν΄λ§ νλ λμ νλ₯Ό μ¬μ©ν©λλ€. |
UseFsEvents |
νμΌ μμ€ν
μ΄λ²€νΈλ₯Ό μ¬μ©νλ fs.watchλ₯Ό μ¬μ©νμ¬ νμΌ λ³κ²½/μμ±/μμ μ λν μλ¦Όμ λ°μ΅λλ€. (fs.watchλ OSλ§λ€ λ€λ₯΄κ² μλν μ μμ΅λλ€.) μλ₯Ό λ€μ΄. 리λ
μ€λ watcher μμ μ νμ΄ μμΌλ©° fs.watchλ₯Ό μ¬μ©νμ¬ watcherλ₯Ό λ§λ€μ§ λͺ»νλ©΄, fs.watchFileλ₯Ό λμ μ¬μ©νμ¬ watcherλ₯Ό λ§λ€κ² λ©λλ€. |
UseFsEventsWithFallbackDynamicPolling |
μ΄ μ΅μ
μ fs.watchλ₯Ό μ¬μ©νμ¬ κ°μμλ₯Ό λ§λ€μ§ λͺ»ν κ²½μ° ν΄λ§μ΄ λμ νλ₯Ό ν΅ν΄ μνλλ€λ κ²μ μ μΈνκ³ λ UseFsEvents μ΅μ
κ³Ό λΉμ·ν©λλ€.(λμ νμ λν κ²μ DynamicPriorityPollingμ΅μ
μμ μ€λͺ
νμμ΅λλ€.). |
UseFsEventsOnParentDirectory |
μ΄ μ΅μ
μ fs.watch(νμΌ μμ€ν
μ΄λ²€νΈ μ¬μ©νλ)λ‘ νμΌμ μμ λλ ν°λ¦¬λ₯Ό κ°μν©λλ€. λ€λ§, CPU μ¬μ©λμ΄ λμ΄λκ³ μ νλλ λ¨μ΄μ§ μ μμ΅λλ€. |
| default (no value specified) | νκ²½ λ³μTSC_NONPOLLING_WATCHERκ° trueλ‘ μ€μ λλ©΄ νμΌμ μμ λλ ν°λ¦¬λ₯Ό κ°μν©λλ€. (UseFsEventsOnParentDirectoryμ λμΌ).false μΌ λλ fs.watchFileμ μ¬μ©νμ¬ 250ms μκ° μ νκ³Ό ν¨κ» λͺ¨λ νμΌλ€μ κ°μν©λλ€. |
νκ²½ λ³μTSC_WATCHDIRECTORYλ₯Ό μ¬μ©νμ¬ λλ ν°λ¦¬ κ°μ μ€μ (Configuring directory watching using environment variable TSC_WATCHDIRECTORY)
κΈ°λ³Έμ μΌλ‘ nodeμμ λλ ν°λ¦¬μ μ¬κ·μ μΈ κ°μλ₯Ό μ§μνμ§ μλ νλ«νΌμμ, λλ ν°λ¦¬ κ°μ κΈ°λ₯μ TSC_WATCHDIRECTORYμμ μ νν λ€μν μ΅μ
μ μ¬μ©νμ¬ νμ λλ ν°λ¦¬μ λν λλ ν°λ¦¬ watcherλ₯Ό μ¬κ·μ μΌλ‘ μμ±ν¨μΌλ‘μ¨ μ§μλ©λλ€. κΈ°λ³Έμ μΌλ‘ μ¬κ· λλ ν°λ¦¬ κ°μ(μ: windows)λ₯Ό μ§μνλ νλ«νΌμμλ μ΄ νκ²½ λ³μμ κ°μ΄ 무μλ©λλ€.
| μ΅μ | μ€λͺ |
|---|---|
RecursiveDirectoryUsingFsWatchFile |
fs.watchFileμ μ¬μ©νμ¬ ν΄λ§ κ°μ(CPU cycles μ¬μ©)μΈ λλ ν°λ¦¬ λ° νμ λλ ν°λ¦¬λ₯Ό κ°μν©λλ€. |
RecursiveDirectoryUsingDynamicPriorityPolling |
λμ ν΄λ§ νλ₯Ό μ¬μ©νμ¬ λλ ν°λ¦¬ λ° νμ λλ ν°λ¦¬μ λν λ³κ²½μ¬νμ ν΄λ§ ν©λλ€. |
| default (no value specified) | fs.watchλ₯Ό μ¬μ©νμ¬ λλ ν°λ¦¬ λ° νμ λλ ν°λ¦¬λ₯Ό κ°μν©λλ€. |
μ»΄νμΌλ¬μ --watch ꡬνμ nodeμμ μ 곡νλ fs.watchμ fs.watchFileμ μμ‘΄νλ©°, μ΄ λ λ°©λ² λͺ¨λ μ₯λ¨μ μ΄ μμ΅λλ€.
fs.watchλ νμΌ μμ€ν
μ΄λ²€νΈλ₯Ό μ¬μ©νμ¬ νμΌ/λλ ν°λ¦¬μ λ³κ²½ μ¬νμ μ립λλ€. νμ§λ§ OSμ λ°λΌ λ€λ₯΄λ©°, μλ¦Όμ μμ ν λ―Ώμ μκ° μκ³ , λ§μ OSμμ μμλλ‘ λμνμ§ μμ΅λλ€. λν, μμ±ν μ μλ watcherμ μμ μ νμ΄ μμ μ μμΌλ©°(μ: linux), νμΌ μκ° λ§μ νλ‘κ·Έλ¨μ μ¬μ©νλ©΄ λ§€μ° λΉ λ₯΄κ² μμ§ν μ μμ΅λλ€. κ·Έλ¬λ μ΄ μμ
μ νμΌ μμ€ν
μ΄λ²€νΈλ₯Ό μ¬μ©νκΈ° λλ¬Έμ CPU cycleμ λ§μ΄ κ΄μ¬νμ§ μμ΅λλ€. μ»΄νμΌλ¬λ μΌλ°μ μΌλ‘ fs.watchλ₯Ό μ¬μ©νμ¬ λλ ν°λ¦¬λ₯Ό κ°μν©λλ€. (μ: μ€μ νμΌμ ν¬ν¨λ μμ€ λλ ν°λ¦¬, λͺ¨λ νμΈμ μ€ν¨ν λλ ν°λ¦¬ ... λ±) λ³κ²½ μ¬νμ λν μλ¦Όμμ λλ½λ μ λ°λλ₯Ό μ²λ¦¬ν μ μμ΅λλ€. κ·Έλ¬λ μ¬κ· κ°μ κΈ°λ₯μ Windowsμ OSXμμλ§ μ§μλ©λλ€. μ¦, λ€λ₯Έ OSλ€μ μ¬κ·μ νΉμ±μ λ체ν 무μΈκ°κ° νμν©λλ€.
fs.watchFileμ ν΄λ§μ μ¬μ©νλ―λ‘ CPU μ£ΌκΈ°λ₯Ό ν¬ν¨ν©λλ€. νμ§λ§ μ΄λ νμΌ/λλ ν°λ¦¬ μνμ λν μ
λ°μ΄νΈλ₯Ό λ°μ μ μλ κ°μ₯ μ λ’°ν μ μλ λ©μ»€λμ¦μ
λλ€. μ»΄νμΌλ¬λ μΌλ°μ μΌλ‘ fs.watchFileμ μ¬μ©νμ¬ μμ€ νμΌ, κ΅¬μ± νμΌ λ° λλ½λ νμΌ(λλ½λ νμΌ μ°Έμ‘°)μ κ°μνλλ° μ΄λ CPU μ¬μ©λμ΄ νλ‘κ·Έλ¨μ νμΌ μμ λ°λΌ λ¬λΌμ§λ€λ κ²μ μλ―Έν©λλ€.