Sha256: 00b8fe3a1f6f28eb0e4712ff5e844e798690c8ecc83f827dba205193eed11631

Contents?: true

Size: 1.26 KB

Versions: 4

Compression:

Stored size: 1.26 KB

Contents

#!/usr/bin/env ruby
#
# file: concurrent_test_procs
#
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
  work_proc = ->(cmd) { SknSuccess.(cmd.uri.request_uri, "Ok") }  # mis-spelling these params result in [SknFailure, SknFailure, ...] results
  provider.register_jobs(commands, work_proc)

  # 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_procs
skn_utils-5.7.0 bin/concurrent_test_procs
skn_utils-5.6.0 bin/concurrent_test_procs
skn_utils-5.5.0 bin/concurrent_test_procs