Sha256: abd56bd2289a6bfde47084fa7f4859273e5f57c9b5c36da2a56eb3980d769ad5

Contents?: true

Size: 1.35 KB

Versions: 76

Compression:

Stored size: 1.35 KB

Contents

# frozen_string_literal: true

require_relative "../../lib/plutonium_generators"

module Pu
  module Service
    class SidekiqGenerator < Rails::Generators::Base
      include PlutoniumGenerators::Generator

      source_root File.expand_path("templates", __dir__)

      desc "Set up sidekiq for project"

      def start
        bundle "sidekiq"
        directory "app"
        directory "config"

        add_compose_env :REDIS_QUEUE_URL, "redis://redis-queue/0"
        add_required_env_vars :REDIS_QUEUE_URL
        add_compose_dependency redis_service
        add_compose_service service, sidekiq_compose_config
        add_compose_service redis_service, redis_compose_config
      rescue => e
        exception "#{self.class} failed:", e
      end

      private

      def service
        :sidekiq
      end

      def redis_service
        :"redis-queue"
      end

      def sidekiq_compose_config
        <<~COMPOSE
          sidekiq:
            <<: *app # sidekiq
            command: /bin/sh -c "bundle && sidekiq" # sidekiq
            # sidekiq properties
        COMPOSE
      end

      def redis_compose_config
        <<~COMPOSE
          redis-queue:
            image: redis # redis-queue
            command: bash -c "redis-server --maxmemory-policy noeviction" # redis-queue
            # redis-queue properties
        COMPOSE
      end
    end
  end
end

Version data entries

76 entries across 76 versions & 1 rubygems

Version Path
plutonium-0.19.10 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.19.9 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.19.8 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.19.7 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.19.6 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.19.5 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.19.4 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.19.3 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.19.2 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.19.1 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.19.0 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.18.8 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.18.7 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.18.6 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.18.5 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.18.4 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.18.3 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.18.2 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.18.1 lib/generators/pu/service/sidekiq/sidekiq_generator.rb
plutonium-0.18.0 lib/generators/pu/service/sidekiq/sidekiq_generator.rb