Sha256: 5b1fc11785fd6cfcdf38c3e1bb59c16f2847de72088ce2449a2e243f259b866d

Contents?: true

Size: 1.4 KB

Versions: 4

Compression:

Stored size: 1.4 KB

Contents

#!/usr/bin/env ruby
#
# file: concurrent_test_block
#

require 'bundler/setup'
require 'skn_utils'


# ##
# MainLine
# ##
#
begin
  # CommandJSONPost, CommandFORMGet, CommandJSONGet,
  # CommandJSONPut, CommandFORMDelete
  commands = [
      SknUtils::CommandJSONGet.call(full_url: "http://jsonplaceholder.typicode.com/posts"),
      SknUtils::CommandJSONGet.call(full_url: "https://jsonplaceholder.typicode.com/comments"),
      SknUtils::CommandJSONGet.call(full_url: "https://jsonplaceholder.typicode.com/todos/1"),
      SknUtils::CommandJSONGet.call(full_url: "http://jsonplaceholder.typicode.com/users")
  ]

  # Initialize the queue with Async Workers by default
  provider = SknUtils::ConcurrentJobs.call

  # Populate WorkQueue
  commands.each do |command|
    provider.register_job do
      begin
        SknUtils::HttpProcessor.call(command)   # mis-spelling these params result in [SknFailure, SknFailure, ...] results
      rescue => ex
        $stderr.puts ex
        SknFailure.(ex.class.name, "#{ex.message}; #{ex.backtrace[0]}")
      end
    end
  end

  # Execute WorkQueue
  result = provider.render_jobs

  if result.success?
    puts "Success: true"
    puts "Values: #{result.values}"
    puts "Messages: #{result.messages}"
  else
    puts "Success: false - errors: #{result.messages.join(', ')}"
    puts "Values: #{result.values}"
  end

#  result.values
rescue => e
  $stderr.puts e.message, e.backtrace
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
skn_utils-5.8.0 bin/concurrent_test_block
skn_utils-5.7.0 bin/concurrent_test_block
skn_utils-5.6.0 bin/concurrent_test_block
skn_utils-5.5.0 bin/concurrent_test_block