Drone Factory

Scalable worker factory for ruby

Installation

Install gems:

$ gem install dronejob

Usage

Logging

# Create stdout logger
require "logging"
Logging.color_scheme("bright", levels: { debug: :blue, info: :green, warn: :yellow, error: :red, fatal: [:white, :on_red] }, date: :blue, ndc: :blue, logger: :cyan, message: :black)
Dronejob::Base.logger = Logging::Logger.new("Dronejob").add_appenders(Logging::Appenders::Stdout.new("stdout", {layout: Logging.layouts.pattern({pattern: '[%d] %-5l %c{1} %x %m\n', color_scheme: 'bright'})}))

# Create gcl logger
require "logging"
require "logging/appenders/gcl"
Logging.init(Logging::Appenders::GoogleCloudLogging::SEVERITY_NAMES)
Dronejob::Base.logger = Logging::Logger.new("Dronejob").add_appenders(Logging::Appenders::GoogleCloudLogging.new("gcl", {project_id: "project-id", log_name: "dronejob", resource_type: "gce_instance", resource_labels: {instance_id: "instance-id", zone: "us-central1-b"}, buffer_size: '3', immediate_at: 'error, fatal'}))