4

голосов
1

ответ
543

Просмотры

кроссовки не получают сообщения на Heroku - RabbitMQ шишки

Я пытаюсь запустить очереди сообщений на Heroku. Для этого я использую RabbitMQ шишку плагину. Я издаю сообщение с помощью кролика камня и пытаюсь получить сообщения с кроссовками камнем. Вся эта установка работает плавно на локальной машине. Я принимаю следующие шаги для установки очереди я запускаю эти реки на сервере в очередь установки: пространства имен: RabbitMQ сделать DESC «маршрутизация Setup» задача: setup_test_commands_queue требуют «кролика» соппы = Bunny.new (ENV [ «SYNC_AMQP»], read_timeout: 10 , сердцебиение: 10) conn.start ч = conn.create_channel # получить или создать обмен х = ch.direct ( 'testsync.pcc': долговечный => правда) # получить или создать очередь (обратите внимание на прочную установку) очереди = сд .queue ( 'test.commands',: прочный => верно,: извед => верно,: routing_key => 'test_cmd' ) Очередь # привязки для обмена queue.bind (х,: routing_key => «test_cmd») conn.Close конец конец Я могу видеть эту очередь в плагине управления RabbitMQ с указанным обязательным. классового TestPublisher DEF self.publish (тест) х = channel.direct ( "testsync.pcc",: долговечный => верно) ставит "публикации это = # {Test}" x.publish (Test,: настойчивый => верно,: routing_key => 'pcc_cmd') конец четкости self.channel @channel || = connection.create_channel конец защиту self.connection @conn = Bunny.new (ENV [ 'RABBITMQ_BIGWIG_TX_URL'], read_timeout: 10, пульс: 10) # получение конфигурации от rabbitmq.yml @ конец conn.start конца я звоню TestPublisher.publish (), чтобы опубликовать сообщение. У меня есть кроссовок работника, как это: требуется «test_sync» Класс TestsWorker включают тапки :: Worker from_queue "test.commands", ENV: ноль четкости работы (raw_event) ставит "^" * 100 ставит raw_event # о = CaseNote.create! (содержание: raw_event, creator_id: 1) # ставит «# ######## {о}»тест = Oj.load raw_event test.execute # event_params = JSON.parse (raw_event) # SomeWiseService.build.call (event_params) Ack! конец конца Моего PROCFILE Интернет: расслоение EXEC единорог -p $ PORT -c ./config/unicorn.rb работника: расслоение EXEC работы грабель: работа кроссовки: РАБОТНИКИ = TestsWorker расслоения EXEC рек кроссовок: запустить Мой Rakefile требует File.expand_path (». ./config/application», __FILE__) требуют„грабли / dsl_definition“требуют„грабли“требуют„кроссовок / задачи“Test :: Application.load_tasks Моя конфигурация кроссовок требуют 'кроссовки кроссовки. Настройка AMQP: ENV [ 'RABBITMQ_BIGWIG_RX_URL'], журнал: "Журнал / sneakers.log", темы: 1, рабочие: 1 путы "настройка кроссовок" Я уверен, что сообщение будет опубликовано. Я в состоянии получить сообщение о плагине управления RabbitMQ. Но тапки не работает. Там нет ничего sneakers.log, что может помочь. sneakers.log на Heroku: # Logfile создан на 2016-04-05 14:40:59 +0530 по logger.rb / 41212
dnsh
3

голосов
1

ответ
492

Просмотры

RabbitMQ удаляет привязки после перезагрузки сервера очереди

Я использую кролик для очереди установки RabbitMQ. Пространство имен: RabbitMQ сделать DESc 'Routing Setup' задачи: setup_test_commands_queue требуют 'кролика' сопп = Bunny.new (ENV [ 'SYNC_AMQP'], read_timeout: 10, сердцебиение: 10) conn.start ч = conn.create_channel # получить или создать обмен х = ch.direct ( 'testsync.pcc': настойчивый => правда) # получить или создать очередь (обратите внимание на прочную установку) очереди = ch.queue ( 'test.commmands',: прочный => верно,: извед => верно,: routing_key => 'test_cmd') очередь # привязка для обмена queue.bind (х,: routing_key => 'test_cmd') conn.Close конец конец Приведенный выше код создает очередь и связывает ключ маршрутизации 'test_cmd. Когда я перезапустить сервер RabbitMQ, очередь сохраняется, но привязка очереди удаляется. Я использую SUDO Invoke-гс. команда перезапуска d RabbitMQ-сервер, чтобы перезапустить RabbitMQ. Кролик версия MQ: RabbitMQ 3.2.4, Erlang R16B03. Является ли это поведение RabbitMQ по умолчанию? Как я могу оставаться моя очередь связывания?
dnsh
2

голосов
2

ответ
254

Просмотры

Что такое значение «{**}» в PathName # присоединиться

В моем проекте Rails в application.rb файла есть строка, которая написана какой-то предыдущий разработчик, который работал над проектом. config.autoload_paths + = Dir [Rails.root.join ( 'приложение', 'классы', '{**}')] Я знаю, что autoload_paths используется рельсами, чтобы загрузить все необходимые файлы. Я не могу понять смысл {**}. Означает ли это означает, что все файлы и подкаталоги из каталога классов будут загружены? Есть ли какая-либо документация, которую я могу сослаться на это. Я сделал некоторые отладки. 2.2.5: 008> Rails.root.join ( 'приложение', 'классы', '{**}') => # Это на самом деле объект Pathname. Но я не нашел никаких упоминаний о {**} здесь. Есть ли какой-либо один какой-либо идеи, что {**}? Есть ли документация для этого?
dnsh
7

голосов
3

ответ
744

Просмотры

мерзавец выборки ветви с указанным префиксом

У меня после отделения в удаленном происхождении. ft_d_feature_abc ft_d_feature_xyz ft_d_feature_lam ft_d_feature_ton ft_m_feature_mak ft_m_feature_echo ft_m_feature_laa ft_m_feature_pol Я хочу, чтобы принести ветви, которые начинаются с ft_d. Как я могу добиться этого с мерзавцем принести? Мой Git версии 1.7.9.5.
dnsh
6

голосов
3

ответ
1.9k

Просмотры

Как срывать «как ALIAS_NAME» с рельсов активной записи запроса

У меня есть этот запрос: Client.select ( «имя как DNAME»), который работает отлично. Client.select ( «имя, как DNAME»). First.dname => «Google» Теперь я хочу, чтобы получить все dnames как массив, но срывать метод не работает, как DNAME не имя столбца. 2.2.5: 040> Client.select ( "имя, как DNAME") срывать. (: DNAME) (0.6ms) ВЫБРАТЬ DNAME FROM "клиентов" ActiveRecord :: StatementInvalid: PG :: UndefinedColumn: ОШИБКА: столбец "Dname" не существуют Как получить массив dnames? Есть ли способ, как срывать, который работает на колонке псевдонима имя, которое определено с использованием в качестве. Я могу сделать это Client.select ( "название как DNAME") отображение {|. D | d.dname} Но цикл по каждой записи не делает никакого смысла для меня
dnsh