Running Monitoring.
  • Web Interface - Rocket Job Web Interface.
  • Monitor and manage every job in the system.
  • View current status.
Running Priority based processing.
  • Process jobs in business priority order.
  • Dynamically change job priority to push through business critical jobs.
Running Cron replacement.
ImportJob.create!(
  file_name: "file.csv",
  priority:  5
)
Familiar interface.
  • Similar to ActiveRecord.
class MyJob < RocketJob::Job
  def perform
    # Implement behavior here ...
  end
end
Implement behavior.
  • #perform
class Job < RocketJob::Job
  field :login, String
  field :count, Integer
  
  def perform
    # Implement behavior here ...
  end
end
Attributes.
  • Real attributes with data types.
  • Use the keyword: field.
class Job < RocketJob::Job
  field :login, String
  field :count, Integer

  def perform
    # Implement behavior here ...
  end
  
  validates_presence_of :login
  validates :count, inclusion: 1..100
end
Validations.
class MyJob < RocketJob::Job
  after_start :email_started

  def perform
    # Implement behavior here ...
  end

  # Send an email when the job starts
  def email_started
    MyJobMailer.started(self).deliver_now
  end
end
Callbacks.
  • Extensive callback hooks to customize job processing and behavior.
class ImportPricesJob < RocketJob::Job
  include RocketJob::Batch

  
  def perform(row)
    # Each row is a Hash
    # Load into DB via Active Record
    Price.create!(row)
  end
end
# Upload the file into the Batch Job for processing
job = ImportPricesJob.new
job.upload("prices.csv")
job.save!
Batch Jobs.
  • Use many workers to process a single job at the same time.
  • Process large files by breaking it up into pieces that can be processed concurrently across all available workers.
Folder Trigger Jobs when new files arrive.
  • Dirmon monitors directories for new files.
  • Kicks off a Rocket Job to process the file.
Folder High Performance.
  • Over 1,000 jobs per second on a single server.
Folder Reliable.
  • Reliably process and track every job.
Folder Folder Folder Scalable.
  • Scales from a single worker to thousands of workers across hundreds of servers.
Rails Fully supports and integrates with Rails.
Ruby Can run standalone on Ruby.