1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00
Commit graph

124 commits

Author SHA1 Message Date
Mike Perham
f220897db9
Per-job execution metrics ()
* New execution stats data format, 

We store time and counts per-queue, per-class and totals, daily.

* break metrics into separate jobs and queues hashes

* tweak

* Move metrics tracking to middleware, start work on Query API

* Add support for labeled points in time

* Add fetch method for deploy marks

* rejigger metrics file layout

* fix tests

* Remove per-queue metrics, adds a lot of complexity with little value IMO

* store per-minute histograms

* Keep basic stats hardwired as is

The idea being that metrics are optional middleware as they have significantly more overhead in CPU time and Redis space.

* Implement top N metrics dashboard

* Add topN and job-specific metric pages

* Supply histogram data to job metrics page

* cant use local time as CI is in a different tz

* Add basic metrics graph, refactor dashboard JS to make Rickshaw reuseable

* prepare for public beta
2022-07-28 12:21:42 -07:00
Mike Perham
55ced28181
Update standard rules ()
* update standard rules and run standard:fix

* Fix more standard errors

* standardize
2022-06-05 07:44:52 -07:00
Jean byroot Boussier
aaac999c6d
Add a compatibility layer for redis-client ()
* Add a compatibility layer for `redis-client`

As discussed in https://github.com/mperham/sidekiq/pull/5253

Switching entirely to redis-client is deemed risky, so instead
we can support both.

All is needed is a small translation layer, and some very minimal
adjustments in the callers.

Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
Co-authored-by: Mike Perham <mperham@gmail.com>
2022-05-10 12:25:04 -07:00
Mike Perham
fdfb7a5211 A bit more polish for the API, 2022-05-06 13:52:38 -07:00
Mike Perham
e7d154eeb5 Remove "worker" from codebase where possible 2022-03-03 12:37:25 -08:00
Mike Perham
27aa7c0efc Update myapp to Rails 7 2022-01-26 17:01:26 -08:00
Mike Perham
26f5f3373b Fix keyword args issue on Ruby 3.0 2021-11-06 18:12:09 -07:00
Mike Perham
bfa233b454 Provide env flag to disable asset caching, for CSS testing 2021-06-22 10:34:01 -07:00
Mike Perham
614d41585b Improve logging of .delay jobs, closes 2021-05-24 12:29:45 -07:00
Mike Perham
968bc81043
Improve Web UI session experience ()
* Simplify Web UI sessions

Remove all of the hacks and support infrastructure around Rack sessions. Rails provides this by default so we don't need it for 95% of users. The other 5% need to provide a Rack session.

This is a big change and has the potential to break installs so it deserves at least a minor version bump.

See also ,  and many others.
2021-02-12 14:50:51 -08:00
Mike Perham
432f95f3f2 reminder 2020-04-01 07:56:02 -07:00
Mike Perham
1207d2b5c1 Remove annoying bits of Rails that just make our life harder 2020-03-17 10:14:50 -07:00
Mike Perham
8e71820259 bump 2019-09-16 09:55:24 -07:00
Mike Perham
785ec70cbb Verify master against Rails 6 2019-08-02 11:31:50 -07:00
Mike Perham
debe8ec3d7 move config to proper place 2018-09-20 13:06:46 -07:00
Mike Perham
9f12a77bb1 Upgrade to Rails 5.2 skeleton 2018-06-21 11:14:54 -07:00
Mike Perham
e19dd4761d remove namespacea 2017-11-02 09:03:37 -07:00
Mike Perham
28c53de58e Remove old testing/CI junk which hasn’t been used in years 2017-10-20 09:09:03 -07:00
Mike Perham
ed485e47e4 Make Sidekiq Web UI RTL-friendly ()
* Unminify rickshaw graph CSS so we can maintain it

* Initial BiDi support for the Web UI

BiDi means the web app can serve both LTR and RTL languages at the same time.

1. Bootstrap-RTL overrides Bootstrap 3.3 styles for RTL clients
2. Application CSS was preprocessed thru rtlcss and then hand-trimmed to contain only RTL-specific directives.
3. Dashboard was tweaked to hardcode LTR for footer and polling gadget

* Vendor bootstrap-rtl.css

* Various RTL style fixes, need to flip all pull-* elements

* Upgrade Rickshaw to latest, remove dupe CSS

* Add Arabic language (credit to Milena Novakova)
Add Hebrew placeholder
Added dir attribute to html tag

* changes

* Clean up HTTP header generation, add Content-Language response header

* Use correct locale for hebrew
2017-03-16 13:51:29 -07:00
Mike Perham
701e06224c Rework job processing in light of Rails 5's Reloader ()
* Rework job processing in light of Rails 5's Reloader, see 

* Ignore built gems

* Documentation, testing

* Add fallback for 'retry' value server-side, fixes 

* Fix job hash reporting in stats

* cleanup

* Add job for AJ testing

* Push jobs with invalid JSON immediately to Dead set, fixes 

* Break retry logic into global and local parts, fixes 

* fix heisentest
2017-01-17 14:58:08 -08:00
Mike Perham
cc59d07e48 Disable delay extensions by default, fixes ()
* Disable delay extensions by default, fixes 

* Size check for YAML payload

* so racy

* Allow larger, explicit size in message

* Polish
2017-01-04 10:30:42 -08:00
Mike Perham
45023e0f7e update rails, appraisal 2017-01-03 15:15:19 -08:00
Mike Perham
9ce75f9b19 Migrate and fix rake tasks in myapp 2016-12-12 09:38:24 -08:00
Mike Perham
1e37c199e8 Add new appraise task to verify Sidekiq job processing in Rails 4/5 dev/prod, 2016-11-22 09:32:36 -08:00
Mike Perham
bdbfbc0577 Add Mike’s terrible appraisal code 2016-11-18 14:33:50 -08:00
Mike Perham
7737da1744 initial work on appraisal and rails integration testing, 2016-11-17 14:40:09 -08:00
Mike Perham
53b3b82cc7 Remove this unnecessary deprecated doohickey 2016-11-17 10:30:09 -08:00
Mike Perham
3b538c66e9 this isnt supported anymore 2016-10-14 10:22:11 -07:00
Mike Perham
0f166de976 merge master 2016-08-24 09:44:46 -07:00
Amadeus Folego
9ea167db16 Migrate Sidekiq::Web to a pure Rack application
Migrate Sidekiq::Web a pure Rack application to avoid sinatra as
dependency. rack-protection is still needed.

The application is mounted on top of Rack::Builder, mantaining all of
the previous http interface.

Rack apps being used:

- Rack::File to serve assets
- Rack::Session::Cookie, the secret can be configured via
  Sidekiq::Web.session_secret
- Rack::Protection, same as before when using sinatra
- Sidekiq::WebApplication, described below.

Sidekiq::WebApplication is a very simple rack application composed of a
Sidekiq::WebRouter and a Sidekiq::WebAction dispatcher. This terminology
was adopted to be able to mantain Sidekiq::Web as a Rack app.

The Router is heavily inspired on Rack::Router[0] (and in many parts
identical), however not being retrocompatible.

The Action is a wrapper to provide convenience, DRY code and maintain
the old interface.

I tried to mantain most of the old application structures so that
customizations and monkey-patches are easily adjustable or even
further work be done to enforce retrocompatibility.

Testing welcome!

0: https://github.com/pjb3/rack-router
2016-07-26 11:43:32 -03:00
Mike Perham
19f57d94d0 merge master 2016-06-30 19:36:46 -07:00
Mike Perham
7b28e95041 Mandate rails 4.2 for now 2016-06-30 11:03:22 -07:00
Mike Perham
a67c9b1d90 merge master 2016-06-15 16:48:40 -07:00
Mike Perham
de9347a172 remove namespace 2016-05-31 10:01:45 -07:00
Mike Perham
e4d09527c4 polish 2016-04-28 10:38:46 -07:00
Mike Perham
df002c1576 Update reload API for 5.0.beta4 2016-04-28 10:02:03 -07:00
Mike Perham
eca6424e98 Merge branch 'master' into rails5 2016-04-13 16:53:55 -07:00
Mike Perham
05eaf0e2d6 Merge branch '3_x' 2016-02-08 13:43:45 -08:00
Mike Perham
d547c2a8fc aj testing 2016-02-08 13:43:29 -08:00
Mike Perham
51347c5d97 Live code reloading, so hot right now! 2016-02-01 15:59:20 -08:00
Mike Perham
d9776cd330 Push a job to fill queue so we can delete it in UI 2015-11-23 09:39:14 -08:00
Mike Perham
847438bd68 Add namespace for 4.0 2015-11-23 09:35:20 -08:00
Mike Perham
f4c29b1675 Merge branch 'master' into internal_rewrite 2015-10-08 10:20:11 -07:00
Mike Perham
76e823a8b1 Add worker for testing latency 2015-10-08 10:19:55 -07:00
Mike Perham
56ea001c25 Move fetching into the processor
This removes thread context switching and network delay.
2015-10-07 15:23:52 -07:00
Mike Perham
acd8e2fb34 Update application rails stuff 2015-09-30 16:16:06 -07:00
Mike Perham
7fcd7aaa7d Cleanup, profiling experiments 2015-09-21 14:50:00 -07:00
Islam Wazery
a6292a1598 Change the deprecated serve_static_assets to serve_static_files in env configs 2015-09-07 13:11:20 +02:00
Mike Perham
935b9eb2f6 Monkeypatch Rails session store to support each, 2015-08-31 10:57:03 -07:00
Mike Perham
92c0dc9cbe merge master 2015-08-15 14:02:37 -07:00