el-borracho-stats
Version:
REST and SSE API and worker producing daily and all-time totals for Bull queues
33 lines (22 loc) • 800 B
text/coffeescript
class ElBorrachoStatsWorker
constructor: ({namespace, , , expire}) ->
= require "../models/stats"
redis = .client
queuename = .name
or= 5 * 1000
= new {redis, namespace, queuename, expire}
listen: =>
await .lock defer()
.on "completed", .incrementCompleted
.on "failed", .incrementFailed
()
poll: =>
= setInterval .update,
stop: (callback) =>
if
clearInterval
delete
.removeListener "completed", .incrementCompleted
.removeListener "failed", .incrementFailed
.unlock callback
module.exports = ElBorrachoStatsWorker