|
# File bin/experimental-filter.rb, line 110
def process_queue
files = Dir[File.join($queue, 'new') + '/*'].sort { |a, b|
queue_file_time(a) <=> queue_file_time(b)
}
files.each { |queue_file_name|
begin
File.open(queue_file_name) { |queue_file|
RFilter::DeliveryAgent.process(queue_file, $log) { |agent|
Deliver.new(agent).main
}
}
rescue RFilter::DeliveryAgent::DeliverySuccess
File::unlink(queue_file_name)
rescue RFilter::DeliveryAgent::DeliveryReject
# FIXME: for now, reject just drops the message on the floor
File::unlink(queue_file_name)
rescue RFilter::DeliveryAgent::DeliveryComplete
# FIXME: truly defer somehow
end
}
end
|