Module: NatsWork::Server

Defined in:
lib/natswork/server.rb,
lib/natswork/simple_worker.rb,
lib/natswork/server/version.rb,
lib/natswork/worker_manager.rb,
lib/natswork/middleware_chain.rb

Defined Under Namespace

Classes: Error, MiddlewareChain, SimpleWorker, WorkerManager

Constant Summary collapse

VERSION =
'0.0.1'

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.worker_managerObject

Returns the value of attribute worker_manager.



11
12
13
# File 'lib/natswork/server.rb', line 11

def worker_manager
  @worker_manager
end

Class Method Details

.running?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/natswork/server.rb', line 36

def running?
  worker_manager&.running? || false
end

.startObject



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/natswork/server.rb', line 13

def start
  require 'natswork'
  NatsWork.logger.info 'Starting NatsWork Server...'

  # Initialize connection
  NatsWork::Client.start

  # Start worker manager with pool size as concurrency
  self.worker_manager = WorkerManager.new(
    concurrency: NatsWork.config.pool_size || 5
  )
  worker_manager.start

  NatsWork.logger.info "NatsWork Server started with #{NatsWork.config.pool_size || 5} workers"
end

.stopObject



29
30
31
32
33
34
# File 'lib/natswork/server.rb', line 29

def stop
  NatsWork.logger.info 'Stopping NatsWork Server...'
  worker_manager&.stop
  NatsWork::Client.stop if defined?(NatsWork::Client)
  NatsWork.logger.info 'NatsWork Server stopped'
end