Sha256: 19c296c7c5bebc340944aceb90ed1787c39190f5beda243dac160ccf64b42974

Contents?: true

Size: 875 Bytes

Versions: 8

Compression:

Stored size: 875 Bytes

Contents

# frozen_string_literal: true

module SplitIoClient
  module SSE
    module Workers
      class ControlWorker
        def initialize(config)
          @config = config
        end

        def start
          perform_thread
          perform_passenger_forked if defined?(PhusionPassenger)
        end

        def stop
          SplitIoClient::Helpers::ThreadHelper.stop(:control_worker, @config)
        end

        private

        def perform
          # TODO: IMPLEMENT THIS METHOD.
        end

        def perform_thread
          @config.threads[:control_worker] = Thread.new do
            @config.logger.debug('Starting control worker ...')
            perform
          end
        end

        def perform_passenger_forked
          PhusionPassenger.on_event(:starting_worker_process) { |forked| perform_thread if forked }
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
splitclient-rb-7.1.0.pre.rc4-java lib/splitclient-rb/sse/workers/control_worker.rb
splitclient-rb-7.1.0.pre.rc4 lib/splitclient-rb/sse/workers/control_worker.rb
splitclient-rb-7.1.0.pre.rc3-java lib/splitclient-rb/sse/workers/control_worker.rb
splitclient-rb-7.1.0.pre.rc3 lib/splitclient-rb/sse/workers/control_worker.rb
splitclient-rb-7.1.0.pre.rc2-java lib/splitclient-rb/sse/workers/control_worker.rb
splitclient-rb-7.1.0.pre.rc2 lib/splitclient-rb/sse/workers/control_worker.rb
splitclient-rb-7.1.0.pre.rc1-java lib/splitclient-rb/sse/workers/control_worker.rb
splitclient-rb-7.1.0.pre.rc1 lib/splitclient-rb/sse/workers/control_worker.rb