Module: Postqueue::Processing

Included in:
Postqueue
Defined in:
lib/postqueue/processing.rb

Instance Method Summary collapse

Instance Method Details

#process(options = {}, &block) ⇒ Object

Processes many entries

process limit: 100, skip_duplicates: true



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/postqueue/processing.rb', line 8

def process(options = {}, &block)
  limit           = options.fetch(:limit, 100)
  skip_duplicates = options.fetch(:skip_duplicates, true)
  options.delete :limit
  options.delete :skip_duplicates

  status, result = Item.transaction do
    process_inside_transaction options, limit: limit, skip_duplicates: skip_duplicates, &block
  end

  raise result if status == :err
  result
end

#process_one(options = {}, &block) ⇒ Object

Process a single entry from the queue

Example:

process_one do |op, entity_type
end


28
29
30
31
# File 'lib/postqueue/processing.rb', line 28

def process_one(options = {}, &block)
  options = options.merge(limit: 1, skip_duplicates: false)
  process options, &block
end