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

37
lib/tasks/failures.rake Normal file
View File

@@ -0,0 +1,37 @@
# encoding: UTF-8
# frozen_string_literal: true
namespace :failures do
desc 'Fetch Trade Execution Errors'
task trade_errors: :environment do
conn = Bunny.new AMQP::Config.connect
conn.start
ch = conn.create_channel
q = ch.queue("peatio.trades.errors")
puts "****** Fetching Queue Messages ******"
count = q.message_count
puts "****** Total Messages in queue = #{count} ******"
errors = []
until count == 0
_delivery_info, _metadata, payload = q.pop
payload = JSON.parse(payload).symbolize_keys!
err_obj = payload.slice(:code, :message)
if err = errors.find{|k| k[:code] == err_obj.fetch(:code)}
err[:count] += 1
else
errors << {code: err_obj.fetch(:code), count: 1 }
end
count -= 1
end
errors.each do |error|
puts "****** Error Code: #{error[:code]} Count = #{error[:count]} ******"
end
puts "****** purging queue *******"
q.purge
end
end