README.md in sidekiq_portal-0.2.0 vs README.md in sidekiq_portal-0.3.0

- old
+ new

@@ -1,9 +1,13 @@ # Sidekiq::Portal [![Gem Version](https://badge.fury.io/rb/sidekiq_portal.svg)](https://badge.fury.io/rb/sidekiq_portal) [![Build Status](https://travis-ci.org/0exp/sidekiq_portal.svg?branch=master)](https://travis-ci.org/0exp/sidekiq_portal) > hackaton slides: [link](https://github.com/0exp/sidekiq_portal/blob/master/docs/umbrellio_hackaton_v1.0.pdf) +> meetup slides: [link](https://github.com/0exp/sidekiq_portal/blob/master/docs/sidekiq_portal_ruby_group_meetup.pdf) + +> meetup video: [link](https://youtu.be/H3SafkpBQ_w?t=12288) + **Sidekiq::Portal** - scheduled jobs runner for your test environments, which execution process must occur during the `Timecop.travel(...)` operations according to the scheduler config. Each job starts at the time it was supposed to start according to the scheduler plan - the internal `Time.current` expression will give you exactly the scheduler-planned time. @@ -29,21 +33,21 @@ gem 'sidekiq', '>= 5' # runtime dependency gem 'timecop', '~> 0.9' # runtime dependency group :test do gem 'rspec' - gem 'sidekiq-portal' + gem 'sidekiq_portal' end ``` - run shell command: ```shell bundle install ``` -- `scec_helper.rb`: +- `spec_helper.rb`: ```ruby require 'timecop' # runtime dependency require 'sidekiq' # runtime dependency require 'sidekiq/api' @@ -68,14 +72,14 @@ config.default_timezone = 'UTC' # 'UTC' by default config.retry_count = 3 # 0 by default config.retry_on = [StandardError] # [StandardError] by default # pre-defined sidekiq-scheduler configs (Rails example) - config.scheduler_cofnig = Rails.application.config_for(:sidekiq)[:schedule] + config.scheduler_config = Rails.application.config_for(:sidekiq)[:schedule] # manual sidekiq-scheduler configs - config.schedluer_config = { + config.scheduler_config = { LoolJob: { every: '15m' }, kek_job: { cron: '0 * * * * *', class: :KekJob } } end @@ -148,18 +152,23 @@ - `Sidekiq::Testing.portal!` test mode with support for `:inline` and `:fake`; (`Sidekiq::Testing.inline!` and `Sidekiq::Testing.fake` respectively); - support for `ActiveSupport::TimeZone` instances in `default_timezone` config; - rspec matchers; -- `#reload!` should use previosly defined settings?; +- `#reload!` should use previously defined settings?; - support for `Sidekiq::Worker` job backend; - support for `Sidekiq::Cron` scheduler plans; - more specs; - documentation and examples for instance-based portals (`Sidekiq::Portal.new(&configuration)`); -- job execution randomization (for jobs which should be invoked at the same time); -- configurable in-line invokations (with job list config); -- configurable and conditional portal invokation (run over all specs or only over the one or etc) +- configurable job execution randomization (for jobs which should be invoked at the same time) + (randomized invocation and not - at the same time or not); +- configurable in-line invocations (with job list config); +- configurable and conditional portal invocation (run over all specs or only over the one or etc) (suitable for unit tests); +- support for **Ruby 2.7**; +- **Time** as external dependency; +- getting rid of **ActiveSupport**'s **Time**-related core extensions; +- better specs; ## License Released under MIT License.