We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 502cd86 commit 97d0029Copy full SHA for 97d0029
examples/god/stale.god
@@ -2,17 +2,22 @@
2
# processes. Their sacrifice is for the greater good.
3
4
WORKER_TIMEOUT = 60 * 10 # 10 minutes
5
+STALE_EXEMPTIONS = ["imports"]
6
7
Thread.new do
8
loop do
9
begin
- `ps -e -o pid,command | grep [r]esque`.split("\n").each do |line|
10
+ lines = `ps -e -o pid,command | grep [r]esque`.split("\n")
11
+ lines.each do |line|
12
parts = line.split(' ')
13
next if parts[-2] != "at"
14
started = parts[-1].to_i
15
elapsed = Time.now - Time.at(started)
16
17
if elapsed >= WORKER_TIMEOUT
18
+ parent = lines.detect { |line| line.split(" ").first == parts[3] }
19
+ queue = parent.split(" ")[3]
20
+ next if STALE_EXEMPTIONS.include?(queue)
21
::Process.kill('USR1', parts[0].to_i)
22
end
23
0 commit comments