discourse/lib/demon/plugin_js_watcher.rb
Jarek Radosz f6daea6082
DEV: Customize the dev-env rails logger (#39988)
A minimal format + suppression of noisy logs.

```
❯ bin/ember-cli -u
Ember CLI running on PID: 72251
Starting Pitchfork...
Starting CSS change watcher
[ember-cli] Proxying to http://127.0.0.1:3000
[ember-cli] building...
Pitchfork ready on http://localhost:3000 (3 workers, 1 sidekiq, plugin JS watcher)
Compiling 43 plugins...
Finished initial compilation of plugins in 2.5s
...
```

<details><summary>Previously</summary><pre>
Ember CLI running on PID: 73296
Starting CSS change watcher
I, [2026-05-13T18:44:58.017891 #73297] INFO -- : listening on
addr=127.0.0.1:3000 fd=19
[ember-cli] Proxying to http://127.0.0.1:3000
[ember-cli] building...
I, [2026-05-13T18:45:05.459057 #73297] INFO -- : monitor pid=73297 ready
I, [2026-05-13T18:45:05.459338 #73297]  INFO -- : monitor process ready
I, [2026-05-13T18:45:05.459501 #73297] INFO -- : service gen=0
spawning...
I, [2026-05-13T18:45:05.486370 #73297] INFO -- : worker=0 gen=0
spawning...
I, [2026-05-13T18:45:05.501127 #73297] INFO -- : worker=1 gen=0
spawning...
I, [2026-05-13T18:45:05.504624 #73452] INFO -- : starting 1 supervised
sidekiqs
I, [2026-05-13T18:45:05.517574 #73297] INFO -- : worker=2 gen=0
spawning...
I, [2026-05-13T18:45:05.527786 #73453] INFO -- : worker=0 gen=0
pid=73453 ready
I, [2026-05-13T18:45:05.542901 #73454] INFO -- : worker=1 gen=0
pid=73454 ready
I, [2026-05-13T18:45:05.546845 #73297] INFO -- : service gen=0 pid=73452
spawned
I, [2026-05-13T18:45:05.547308 #73297] INFO -- : worker=0 gen=0
pid=73453 registered
I, [2026-05-13T18:45:05.547502 #73297] INFO -- : worker=1 gen=0
pid=73454 registered
I, [2026-05-13T18:45:05.568697 #73297] INFO -- : worker=2 gen=0
pid=73455 registered
I, [2026-05-13T18:45:05.574660 #73455] INFO -- : worker=2 gen=0
pid=73455 ready
I, [2026-05-13T18:45:05.868738 #73456] INFO -- : Loading Sidekiq in
process id 73456
writing pid file
/Users/cvx/discourse/discourse/tmp/pids/plugin_js_watcher_0.pid for
73464
I, [2026-05-13T18:45:06.229162 #73464] INFO -- : [PluginJsWatcher]
Loading PluginJsWatcher in process id 73464
[Plugin::JsManager] Compiling 43 plugins...
[Plugin::JsManager] Finished initial compilation of plugins in 1.95s
...
</pre></details>
2026-05-14 11:31:14 +02:00

33 lines
582 B
Ruby
Vendored

# frozen_string_literal: true
class Demon::PluginJsWatcher < ::Demon::Base
def self.prefix
"plugin_js_watcher"
end
def after_fork
log("Loading PluginJsWatcher in process id #{Process.pid}")
@queue = Queue.new
trap("INT") { @queue.push(:stop) }
trap("TERM") { @queue.push(:stop) }
trap("HUP") { @queue.push(:stop) }
Plugin::JsManager.new.watch { @queue.pop }
ensure
STDERR.puts "Finished Plugin JS watcher thread"
end
def suppress_stdout
false
end
def suppress_stderr
false
end
def stop_signal
"TERM"
end
end