Skip to content

Instantly share code, notes, and snippets.

@chrismccord
Created May 29, 2014 02:56
Show Gist options
  • Save chrismccord/42b85fc01164dc6ac94d to your computer and use it in GitHub Desktop.
Save chrismccord/42b85fc01164dc6ac94d to your computer and use it in GitHub Desktop.
Elixir/Sidekiq Pseudo Example
class StatsController
  def update
    # call sidekiq worker as normal
    TwitterStatsWorker.perform_async(twitter_user.pin, twitter_user.token)
  end
end

class TwitterStatsWorker
  include Sidekiq::Worker
  include ElixirKiq::Worker  # overrides perform_async to enqueue to Elixir's processor
  
  def perform(stats_results)
    # process stats results fetched by Elixir
  end

end
defmodule TwitterStatsWorker do
  use ElixirKiq.Worker
  
  def perform([pin, token]) do
    stats = # do some work fetching some twitter stats
    
    # enqueues *normal sikekiq* job back to Rails to be processed TwitterStatsWorker
    respond(stats)
  end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment