@@ -8,38 +8,93 @@ defmodule Exq.Api do
88 Exq . start_link ( Keyword . put ( opts , :mode , :api ) )
99 end
1010
11+ @ doc """
12+ List of queues with jobs (empty queues are deleted)
13+
14+ Expected args:
15+ * `pid` - Exq.Api process
16+
17+ Returns:
18+ * `{:ok, queues}` - list of queue
19+ """
1120 def queues ( pid ) do
1221 GenServer . call ( pid , :queues )
1322 end
1423
24+ @ doc """
25+ Clear / Remove queue
26+
27+ Expected args:
28+ * `pid` - Exq.Api process
29+ * `queue` - Queue name
30+
31+ Returns:
32+ * `{:ok, queues}` - list of queue
33+ """
34+ def remove_queue ( pid , queue ) do
35+ GenServer . call ( pid , { :remove_queue , queue } )
36+ end
37+
38+
39+ @ doc """
40+ Number of busy workers
41+
42+ Expected args:
43+ * `pid` - Exq.Api process
44+
45+ Returns:
46+ * `{:ok, num_busy}` - number of busy workers
47+ """
1548 def busy ( pid ) do
1649 GenServer . call ( pid , :busy )
1750 end
1851
19- def stats ( pid , key ) do
20- GenServer . call ( pid , { :stats , key } )
21- end
52+ @ doc """
53+ Number of processes
2254
23- def stats ( pid , key , date ) do
24- GenServer . call ( pid , { :stats , key , date } )
25- end
55+ Expected args:
56+ * `pid` - Exq.Api process
57+ * `key` - Key for stat
58+ * `queue` - Queue name
2659
60+ Returns:
61+ * `{:ok, stat}` stat for key
62+ """
2763 def processes ( pid ) do
2864 GenServer . call ( pid , :processes )
2965 end
3066
67+ def clear_processes ( pid ) do
68+ GenServer . call ( pid , :clear_processes )
69+ end
70+
71+ @ doc """
72+ List jobs enqueued
73+
74+ Expected args:
75+ * `pid` - Exq.Api process
76+
77+ Returns:
78+ * `{:ok, [{queue, [jobs]}, {queue, [jobs]}]}`
79+ """
3180 def jobs ( pid ) do
3281 GenServer . call ( pid , :jobs )
3382 end
3483
84+ @ doc """
85+ List jobs enqueued
86+
87+ Expected args:
88+ * `pid` - Exq.Api process
89+ * `queue` - Queue name
90+
91+ Returns:
92+ * `{:ok, [jobs]}`
93+ """
3594 def jobs ( pid , queue ) do
3695 GenServer . call ( pid , { :jobs , queue } )
3796 end
3897
39- def failed ( pid ) do
40- GenServer . call ( pid , :failed )
41- end
42-
4398 def retries ( pid ) do
4499 GenServer . call ( pid , :retries )
45100 end
@@ -48,26 +103,31 @@ defmodule Exq.Api do
48103 GenServer . call ( pid , { :jobs , :scheduled } )
49104 end
50105
106+ def scheduled_with_scores ( pid ) do
107+ GenServer . call ( pid , { :jobs , :scheduled_with_scores } )
108+ end
109+
110+ def find_job ( pid , queue , jid ) do
111+ GenServer . call ( pid , { :find_job , queue , jid } )
112+ end
113+
114+ def remove_job ( pid , queue , jid ) do
115+ GenServer . call ( pid , { :remove_job , queue , jid } )
116+ end
117+
51118 def queue_size ( pid ) do
52119 GenServer . call ( pid , :queue_size )
53120 end
54- def queue_size ( pid , :scheduled ) do
55- GenServer . call ( pid , { :queue_size , :scheduled } )
56- end
57121 def queue_size ( pid , queue ) do
58122 GenServer . call ( pid , { :queue_size , queue } )
59123 end
60124
61- def find_failed ( pid , jid ) do
62- GenServer . call ( pid , { :find_failed , jid } )
63- end
64-
65- def find_job ( pid , queue , jid ) do
66- GenServer . call ( pid , { :find_job , queue , jid } )
125+ def failed ( pid ) do
126+ GenServer . call ( pid , :failed )
67127 end
68128
69- def remove_queue ( pid , queue ) do
70- GenServer . call ( pid , { :remove_queue , queue } )
129+ def find_failed ( pid , jid ) do
130+ GenServer . call ( pid , { :find_failed , jid } )
71131 end
72132
73133 def remove_failed ( pid , jid ) do
@@ -78,12 +138,59 @@ defmodule Exq.Api do
78138 GenServer . call ( pid , :clear_failed )
79139 end
80140
81- def clear_processes ( pid ) do
82- GenServer . call ( pid , :clear_processes )
141+ def failed_size ( pid ) do
142+ GenServer . call ( pid , :failed_size )
143+ end
144+
145+ def find_retry ( pid , jid ) do
146+ GenServer . call ( pid , { :find_retry , jid } )
147+ end
148+
149+ def remove_retry ( pid , jid ) do
150+ GenServer . call ( pid , { :remove_retry , jid } )
83151 end
84152
85- def retry_failed ( pid , jid ) do
86- GenServer . call ( pid , { :retry_failed , jid } )
153+ def clear_retries ( pid ) do
154+ GenServer . call ( pid , :clear_retries )
155+ end
156+
157+ def retry_size ( pid ) do
158+ GenServer . call ( pid , :retry_size )
159+ end
160+
161+ def find_scheduled ( pid , jid ) do
162+ GenServer . call ( pid , { :find_scheduled , jid } )
163+ end
164+
165+ def remove_scheduled ( pid , jid ) do
166+ GenServer . call ( pid , { :remove_scheduled , jid } )
167+ end
168+
169+ def clear_scheduled ( pid ) do
170+ GenServer . call ( pid , :clear_scheduled )
171+ end
172+
173+ def scheduled_size ( pid ) do
174+ GenServer . call ( pid , :scheduled_size )
175+ end
176+
177+ @ doc """
178+ Return stat for given key
179+ Examples of keys are `processed`, `failed`
180+
181+ Expected args:
182+ * `pid` - Exq.Api process
183+ * `key` - Key for stat
184+ * `queue` - Queue name
185+
186+ Returns:
187+ * `{:ok, stat}` stat for key
188+ """
189+ def stats ( pid , key ) do
190+ GenServer . call ( pid , { :stats , key } )
191+ end
192+ def stats ( pid , key , date ) do
193+ GenServer . call ( pid , { :stats , key , date } )
87194 end
88195
89196 def realtime_stats ( pid ) do
0 commit comments