Coder Social home page Coder Social logo

fist_of_fury's Introduction

Fist of Fury

Build Status Dependency Status Coverage Status Code Climate Gem Version

Recurring jobs for Sucker Punch.

Why

Sucker Punch offers the ability to run background jobs within the web server process. Yes, this means you can host your app on Heroku without paying for an extra dyno for background jobs. However, Sucker Punch does not implement recurring jobs. Enter Fist of Fury!

What

Fist of Fury is heavily inspired by Sidetiq for Sidekiq. It uses the ice_cube gem for easy creation of recurrence rules.

Installation

Add this line to your application's Gemfile:

gem 'fist_of_fury', '~> 0.2.0'

And then execute:

$ bundle

Or install it yourself as:

$ gem install fist_of_fury

Rails

Run the install generator, which installs an initializer:

$ rails generate fist_of_fury:install

Usage

You can schedule your jobs within the jobs themselves:

class SayHiJob
  include SuckerPunch::Job
  include FistOfFury::Recurrent

  recurs { minutely }

  def perform
    Rails.logger.info 'Hi!'
  end
end

If you did not run the install generator, you need to kick off the process somewhere (like an initializer) with this:

FistOfFury.attack!

You can specify the recurrence rules during kickoff:

FistOfFury.attack! do
  LogJob.recurs { secondly(3) }
end

Configuration Options

FistOfFury.configure do |config|
  config.utc = true # false by default; makes all time within Fist of Fury UTC
end

Contributing

  1. Fork it ( http://github.com/facto/fist_of_fury/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Bitdeli Badge

fist_of_fury's People

Contributors

bitdeli-chef avatar joshrieken avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.