def poll_for_single_task task_list, options = {}, &block
client_opts = {}
client_opts[:domain] = domain.name
client_opts[:identity] = identity_opt(options)
client_opts[:task_list] = { :name => task_list }
client_opts[:maximum_page_size] = options[:event_batch_size] || 1000
client_opts[:reverse_order] = options.key?(:reverse_event_order) ?
options[:reverse_event_order] : false
response = client.poll_for_decision_task(client_opts)
if response.data['taskToken']
decision_task = DecisionTask.new(domain, client_opts, response.data)
if block_given?
yield(decision_task)
decision_task.complete! unless decision_task.responded?
nil
else
decision_task
end
else
nil
end
end