Sha256: 83a1c5f3bbbb1d6a84706dd2e2d1a968ad941529788d78ffacfe142e7f95ac49
Contents?: true
Size: 980 Bytes
Versions: 1
Compression:
Stored size: 980 Bytes
Contents
require 'forwardable' require_relative 'strategy' require_relative './util' require_relative '../upperkut' module Upperkut module Worker def self.included(base) base.extend(ClassMethods) end def process items = self.class.fetch_items.collect! do |item| item['body'] end perform(items) end module ClassMethods extend Forwardable def_delegators :setup, :strategy def_delegators :strategy, :push_items, :size, :latency def push_items(items) strategy.push_items(items) end def fetch_items strategy.fetch_items(setup.batch_size) end def setup_upperkut(&block) yield(setup) if block_given? end def setup @@setup ||= begin default = Upperkut::Configuration.default.clone default.strategy ||= Upperkut::Strategy.new(self, default.redis) default end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
upperkut-0.1.2 | lib/upperkut/worker.rb |