Resque dashing widget to monitor resque jobs, queues and worker activities.
MIT License
Resque dashing widget to monitor resque jobs, queues and worker activities.
This family contains 5 different widgets:
Add them to dashing's gemfile:
gem 'redis'
gem 'resque'
gem 'resque-scheduler'
and run bundle install
.
To use this widget, copy all the files into their respectives folders.
Then include the desired widget in a dashboard, by adding the following snippet to your dashboard layout file:
<li data-row="1" data-col="1" data-sizex="2" data-sizey="1">
<div data-id="resque_scheduler_queue" data-view="ResqueHeatmap" data-title="Scheduled jobs"></div>
</li>
Edit /assets/javascripts/application.coffee
and add #= require d3.v2.min.js
just below #= require dashing.js
, to guarantee that d3.js is always loaded before the heatmap library.
<li data-row="1" data-col="1" data-sizex="1" data-sizey="2">
<div data-id="resque_queues_stats" data-view="ResqueList" data-title="Queued jobs"></div>
</li>
<li data-row="1" data-col="1" data-sizex="2" data-sizey="1">
<div data-id="resque_processed_jobs" data-view="ResqueGraph" data-title="Processed Jobs"></div>
</li>
<li data-row="1" data-col="1" data-sizex="1" data-sizey="1">
<div data-id="resque_failed_jobs" data-view="ResqueGraph" data-title="Failed Jobs"></div>
</li>
<li data-row="1" data-col="1" data-sizex="1" data-sizey="1">
<div data-id="resque_workers_count" data-view="ResqueNumber" data-title="Resque Workers"></div>
</li>
Each widget corresponds to a job file (in the /jobs
folder), except the processed and failed jobs counter widgets, that belongs to the same resque_job.rb
.
To avoid sending unecessary requests to the redis server, only include the jobs you're using in the /jobs
folder.
You can configure the redis server address in the /config/resque.yml file. You can define multiple address depending on the environment:
development: localhost:6379
production: /tmp/redis.sock
The environment used is read from ENV['DASHING_ENV']
.
Each cell in the heatmap is representing the number of scheduled jobs per minute.
Since each application have their own order of magnitude, the difference between the minimum and maximum scheduled jobs per minute differs for each system.
Set the @maxJobPerMinute
variable, in /widgets/resque_heatmap/resque_heatmap.coffee
to the approximative number of maximum scheduled jobs per minute of your application, to have the widest color range for the heatmap.
You can customize the "time range" of the graph, by editing the graphWidth
variable in /widgets/resque_graoh/resque/graph.coffee
. By default, it'll only display the last minute.