Initial commit

This commit is contained in:
Yaser
2026-08-13 19:50:53 +03:30
commit 38084458fe
879 changed files with 95198 additions and 0 deletions

View File

@@ -0,0 +1,40 @@
# frozen_string_literal: true
module Workers
module Daemons
class Upstream < Base
def run
Engine.all.map { |e| Thread.new { process(e) } }.map(&:join)
end
def process(engine)
EM.synchrony do
upstream = Peatio::Upstream.registry[engine.driver]
engine.markets.each do |market|
target = if market.data.present? && market.data['target'].present?
market.data['target']
else
market.id
end
configs = engine.data.merge('source' => market.id, 'amqp' => ::AMQP::Queue, 'target' => target)
upstream.new(configs).ws_connect
Rails.logger.info "Upstream with driver #{engine.driver} for #{market.id} started"
rescue StandardError => e
report_exception(e)
next
end
rescue Peatio::AdapterRegistry::NotRegisteredAdapterError => e
report_exception(e)
end
end
def stop
puts 'Shutting down'
@shutdown = true
exit(42)
end
end
end
end