У нас есть рабочий сервер в экземпляре AWS EC2. Мы создали образ AMI (без остановки сервера) экземпляра и создали новый экземпляр тестового сервера в том же регионе. Все то же самое, за исключением того, что мы используем меньший экземпляр t2.medium вместо экземпляра m4.2xlarge, используемого на производственном сервере.
Мы используем rabbitmq 3.6.14 и Erlang R16B03. Должно быть 10 очередей, которые должны запускаться автоматически, но одна определенная очередь («Сегмент перед анализом»), предопределенная, не запускается автоматически. Я попытался запустить очередь из пользовательского интерфейса rabbitmq, но API управления ошибками возвратил код состояния 405 -
Очередь определена, как показано в приведенном ниже коде в файле ruby сегмент_readings_worker.rb
def self.send_seg_to_python_filter(segm)
reading = {imei: segm.imei, segment_number: segm.segment_number} if segm.present?
message = reading.to_json
puts message
rabbitconhash = Rails.application.secrets.rabbit
conn = Bunny.new(:host=> rabbitconhash['host'], :port=> rabbitconhash['port'], :user => rabbitconhash['user'], :pass => rabbitconhash['pass'])
conn.start
ch = conn.create_channel
q = ch.queue("Segment Before Analyze Queue", :durable => true)
ch.default_exchange.publish(message, :routing_key => q.name, :persistent => true)
puts "#{message} Sent"
conn.close
end
Я сделал что-то неправильно при создании образа или мне пришлось сделать что-то другое, когда домен изменился? Что мне делать, если мне нужно снова запустить очередь?