PinkRabbitMQ - Native API компонента 1С с открытым исходным кодом, для обмена сообщениями через RabbitMQ

29.07.19

Разработка - Разработка внешних компонент

PinkRabbitMQ представляет собой Native API компоненту для 1С Предприятия 8 (Windows 32bit и 64bit) с открытым исходным кодом на с++ (можно собрать компоненту самостоятельно). PinkRabbitMQ это низкоуровневая компонента которая реализует обмен по протоколу AMQP с брокером сообщений RabbitMQ. Для организации высокоуровнего обмена между информационными базами предназначен Адаптер. Компонента разрабатывается в рамках проекта Адаптер.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
PinkRabbitMQ - Native API компонента 1С с открытым исходным кодом, для обмена сообщениями через RabbitMQ:
.zip 654,98Kb
1045
1045 Скачать бесплатно
Демонстрационная обработка
.epf 695,44Kb
1173
1173 Скачать бесплатно

Предпосылки создания своей компоненты

  • Мы активно развиваем свой проект Адаптер (о нем мы уже писали на инфостарте), в котором реализован обмен через RabbitMQ
  • Т.к. 1С напрямую не поддерживает протокол AMQP (а для обмена с брокером RabbitMQ через http есть ограничения) нам потребовалась внешняя компонента
  • Раньше мы использовали стороннюю компоненту Yellow RabbitMQ, но для некоторых наших заказчиков было важно избежать зависимости от конкретного поставщика, и наличие закрытого кода (в виде скомпилированной компоненты) являлось важным аргументом против использования Yellow RabbitMQ
  • Технически создание своей компоненты нам казалось не сложным
  • У нас уже был весь набор тестов для Адаптера, который позволил нам быть уверенными, что наша компонента работает
  • Хотелось получить возможность самостоятельного развития компоненты

 

Наши цели публикации исходных кодов компоненты Pink RabbitMQ:

  • Она у нас все равно есть, и для нас это "ничего не стоит"
  • Мы хотим улучшить код компоненты
  • Мы хотим "продвинуть кролика в массы", как "среду" обмена данными, и как средство для построения событийно-ориентированных интеграций
  • Мы надеемся, что это будет полезно и для нашего Адаптера, как инструмента организации обмена

 

Особенности компоненты Pink RabbitMQ:

  • Описание API компоненты содержится в https://github.com/BITERP/PinkRabbitMQ/blob/master/README.md
  • Представляет собой Native API компоненту для 1С Предприятия 8 (Windows 32bit и 64bit). Для Linux мы не компилировали, но радикальных препятствий для этого нет (примерно понятно, какие нужно для этого сделать доработки)
  • С точки зрения API компонента практически полностью совместима с  Yellow RabbitMQ т.е. в Адаптер мы просто замени компоненту на нашу, но те механизмы, которые не нужны в Адаптере мы не реализовывали
  • В основе компоненты лежат "свежие" библиотеки
    •  AMQP-CPP - асинхронный клиент для работы  c протоколом AMQP
    •  POCO C++ - только для работы с tcp socket
  • Для обеспечения совместимости с Yellow RabbitMQ мы внутри компоненты превратили асинхронные методы библиотеки в синхронные, что немного повлияло на производительность
  • При разработке исходный код компоненты проверяются Sonar Cube и тестируются BDD тестами Адаптера (см. бэджи в репозитории)

 

Вопросы производительности

Поскольку мы использовали ранее Yellow RabbitMQ, то и сравнивали с ней:

Простой синтетический тест

Метод

Yellow RabbitMQ

Pink RabbitMQ

Последовательная отправка 1000 сообщений (сек)

28.30

57.54

Последовательное получение 1000 сообщений (с отправкой 2000 логов) (сек) 220.41 390.70

 

Тест на реальном проекте где в Адаптере компонента Yellow RabbitMQ была заменена на Pink RabbitMQ.

У нас не было цели провести отдельный чистый тест, мы просто хотели убедиться, что на одном из наших проектов, на котором мы недавно перешли с обмена БСП (не типового) на обмен через RabbitMQ при переходе на компоненту Pink RabbitMQ не будет проблем с производительностью.

В рамках теста из базы УТ10.3 в базу ERP переносился 1241 документ и проводился в ERP (реализации товаров превращались в поступления)

Метод

Yellow RabbitMQ

Pink RabbitMQ

План обмена из БСП в формате КД2

Длительность отправки из УТ 10.3 (час) 1:47 2:19 1:38
Длительность загрузки в ERP (час) 3:10 2:48 3:36
Общая длительность от момента как начали отправлять до момента, что все получили (час) 3:12 2:51 3:47


т.е. мы видим, что на реальном проекте

  • Меньшая скорость работы самой компоненты "теряется" во времени записи и проведения реальных загруженных документов
  • Общая длительность обмена зависит от прочих факторов гораздо больше, чем от скорости работы самой компоненты

по этому пока мы не считаем меньшую производительность Pink RabbitMQ проблемой

 

API

Компонента имеет ряд методов для работы из встроенного языка 1С. Параметры с тегом [НЕ РЕАЛИЗОВАНО] имеют пустую реализацию, но передавать их все равно требуется. Параметры с тегом [НЕОБЯЗАТЕЛЬНЫЙ] можно не передавать. Список методов:

Connect - устанавливает соединение с сервером RabbitMQ

Параметры:

  • host - Строка - Адрес сервера RabbitMQ
  • port - Число - Порт работы через tcp (обычно 5672)
  • login - Строка - Имя пользователя
  • pwd - Строка - Пароль пользователя
  • vhost - Строка - Vhost пользователя
  • pingRate - Число - [НЕ РЕАЛИЗОВАНО][НЕОБЯЗАТЕЛЬНЫЙ]. Частота пульса

DeclareExchange - Объявить точку обмена

Параметры:

  • name - Строка - Имя exchange
  • type - Строка - Тип точки обмена. Поддерживаются "direct", "fanout", "topic"
  • onlyCheckIfExists - Булево - [НЕ РЕАЛИЗОВАНО] Не создавать новую, выбросить исключение, если такой точки нет.
  • durable - Булево - Сохранять сообщения на диске на случай рестарта RMQ (не рекомендуется)
  • autodelete - Булево - Удалить после того, как от точки будут отвязаны все очереди.

DeleteExchange - Удаляет очередь с сервера

Параметры:

  • name - Строка- Имя точки обмена.
  • ifunused - Булево - Удаление будет выполнено, только если точка обмена не используется.

DeclareQueue - Объявить очередь

Параметры:

  • name - Строка - Имя объявляемой очереди.
  • onlyCheckIfExists - Булево - [НЕ РЕАЛИЗОВАНО] Не создавать очередь с таким именем, использовать существующую
  • save - Булево - Кешировать сообщения на диске, на случай падения RMQ.
  • exclusive - Булево - [НЕ РЕАЛИЗОВАНО] Только текущее соединение может иметь доступ к этой очереди.
  • autodelete - Булево - Удалить очередь если к ней был подключен, а затем отключен читающий клиент.

Возвращаемое значение:

  • Имя очереди, заданное явно в 1-м параметре.

DeleteQueue - Удаляет очередь с сервера

Параметры:

  • name - Строка - Имя очереди
  • onlyIfIdle - Булево - Удаление будет выполнено, только если очередь не используется
  • onlyIfEmpty - Булево - Удаление будет выполнено, только если очередь пуста

BindQueue - Установить связь очереди. Создает маршрут от точки обмена до очереди.

Параметры:

  • queue - Строка - Имя очереди
  • exchange - Строка - Имя точки обмена
  • routingKey - Строка - Rлюч маршрутизации.

UnbindQueue - Отсоединяет очередь от точки обмена.

Параметры:

  • queue - Строка - Имя очереди
  • exchange - Строка - Имя точки обмена
  • routingKey - Строка - Rлюч маршрутизации.

BasicPublish - Отправить сообщение

Параметры:

  • exchange - Строка - Имя точки в которую отправляется сообщение
  • routingKey - Строка - Ключ маршрутизации (см. руководство RMQ)
  • message - Строка - Тело сообщения
  • livingTime - Число - [НЕ РЕАЛИЗОВАНО] Время жизни сообщения в миллисекундах
  • persist - Булево - [НЕ РЕАЛИЗОВАНО] Сбрасывать сообщение на диск

BasicReject - Отказывается от последнего полученного сообщения. Работает по принципу Ack, но в обратную сторону.

Параметры отсутствуют

BasicConsume - Начать чтение. Регистрирует потребителя сообщений для очереди.

Параметры:

  • queue - Строка - Очередь из которой будем читать сообщения.
  • consumerId - Строка - [НЕ РЕАЛИЗОВАНО] имя потребителя. Если не задан, то имя потребителя сгенерирует сервер и вернет из метода
  • noConfirm - Булево - [НЕ РЕАЛИЗОВАНО] не ждать подтверждения обработки. Сообщения будут удалены из очереди сразу после отправки на клиента.
  • exclusive - Булево - [НЕ РЕАЛИЗОВАНО] монопольно захватить очередь
  • selectSize - Число - [НЕ РЕАЛИЗОВАНО] количество сообщений единовременно отправляемых клиенту. Оптимизационный параметр, если > 1 усложняет программирование клиента

Возвращаемое значение:

  • Строка. Имя потребителя, сгенерированное сервером или переданное в параметре ИмяПотребителя.

BasicConsumeMessage - Получить сообщение

Параметры:

  • consumerId - Строка - [НЕ РЕАЛИЗОВАНО] Имя зарегистрированного потребителя
  • outdata - Строка - Выходной параметр. Тело сообщения.
  • timeout - Число - Таймаут ожидания сообщения в миллисекундах. 0 означает без ожидания

BasicCancel - Закрывает канал для чтения сообщений

Параметры:

  • channelId - Строка - Имя созданного ранее потребителя.

BasicAck Отсылает серверу подтверждение (ack), что сообщение обработано и его можно удалить. Подтвердить можно только последнее прочитанное сообщение.

Параметры отсутствуют

GetLastError - получает информацию о последней ошибке

Параметры отсутствуют

Возвращаемое значение:

  • Строка - Последнее сообщение ошибки

 

Наши ближайшие планы:

  • Мы собираемся поддерживать компоненту, т.к. она является частью нашего решения Адаптер
  • С точки зрения функционала ходим добавить в компоненту асинхронные методы (как в 1С), что увеличит скорость работы и немного упростит алгоритмы Адаптера

 

Как начать использовать Pink RabbitMQ:

  • Скачать демонстрационную обработку, приложенную к статье (компонента находится в ней в виде макета)
  • Скачать из репозитория исходники и воспользоваться инструкцией из readme.md

 

Интересные технические особенности:

  • Источником вдохновения послужила статья https://habr.com/ru/post/253317/
  • Сборка компоненты осуществляется как через sln проект на VS Studio 2019, так и через cmake (см. readme.md)
  • Все зависимости проекта (в частности POCO и AMQP) поставляются прекомпилированными либами для простоты сборки (поэтому репозиторий много весит, но проект собирается элементарно )

Как стать контрибьютером:

  • Репозиторий проекта https://github.com/BITERP/PinkRabbitMQ
  • Как обычно, создавайте issues, делайте форки, вносите доработки, собирайте и проверяйте компоненту и делайте пулл-реквест
  • Мы со своей стороны будем принимать пулл-реквесты после
    • прохождения проверок Sonar Cube и BDD тестами Адаптера
    • оценки соответствия предлагаемых изменений концепции/планам развития Pink RabbitMQ

 

Ждем ваших вопросов/замечаний/предложений

Бесплатно free RabbitMQ Обмен

См. также

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента в виде библиотеки (.dll файл), позволяющая посылать команды и получать ответы по протоколу WebSocket из 1С. Компонента работает только на стороне "клиента".

4440 руб.

22.06.2020    18124    18    33    

22

Разработка внешних компонент Телефония, SIP Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    46786    122    66    

66

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

3000 руб.

12.05.2020    28220    138    100    

90

Разработка внешних компонент Программист Платформа 1С v8.3 Платформа 1C v8.2 Платные (руб)

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

4600 руб.

27.06.2023    3394    2    0    

4

Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    36476    113    127    

114

Разработка внешних компонент Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Некоторые практические аспекты создания внешних компонент на языке С++ для платформы 1С 8.3++.

26.01.2024    6766    starik-2005    32    

44

Инструментарий разработчика Разработка внешних компонент Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример взаимодействия 1С с Apach Kafka посредством внешней компоненты, разработанной на основе официальной библиотеки librdkafka (the Apache Kafka C/C++ client library).

22.11.2023    4356    86    ivan1703    26    

41
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. barelpro 1430 29.07.19 13:37 Сейчас в теме
Когда-то это должно было случится! ) Спасибо!
lemilk; awk; zakiap; Pavl0; Gureev; maxopik2; +6 1 Ответить
188. ignatovatn 05.01.22 11:42 Сейчас в теме
(1)Наша компания приобрела БитАдаптер. Мы должны предостеречь от покупки данного программного продукта, и, вообще, от работы с компанией ПервыйБит (по меньшей мере с командой разработчиков этого продукта). Выбирали между двумя программными продуктами - БитАдаптер и аналогичным от СильверБуллетс. БитАдаптер выбрали из-за того, что они предоставили возможность "попробовать" их компоненту. Несмотря на то, что при одном из сценариев работы она вызвала утечку памяти на сервере, мы предположили, что это была вина наших разработчиков, и при использовании коробочного продукта такой проблемы не будет.
Заключили договор и приобрели.
Дальше начались трудности. Подробнее по пунктам:
1) Отсутствие документации. Есть какая-то поделка в Конфлюенс, которая мало того, что написана очень не внятно, но и вообще относится к предыдущей версии БитАдаптера. Т.е. абсолютно бесполезна. На запрос к техподдержке (общались через Марию П.) о предоставлении актуальной версии документации, разработчики ответили, что менять документацию не планируют, и она вполне корректна.
На этапе пресейла о том, что нормальной документации не будет, мы и не догадывались. Нас уверяли в обратном. Для сравнения СильверБуллетс прислали полноценную документацию по продукту еще на этом этапе.
2) Полное отсутствие техподдержки, если нет сертификата по курсу. Например, были найдены ошибки в работе БитАдаптера, и отправлены в техподдержку. Однако, нам ответили, что рассматривать их никто не собирается.
3) Редкие обновления. Когда обнаружили ошибки в текущей версии БитАдаптера, решили посмотреть более новый релиз. Релиз не выходил год. Есть большие сомнения, что данный программный продукт реально активно кто-то использует.
4) Ужасная модель сопровождения. Условие об обязательной сертификации специалиста вместо написания нормальной доступной документации - это просто выкачивание денег из клиентов. При этом продукт-то совсем небольшой. К примеру, специалист прошедший этот курс у нас, уволился еще до сдачи "экзамена". Теперь мы должны заплатить доп. 70 тыс. за обучение нового специалиста работе с мелкой компонентной лишь для того, чтобы мы могли пообщаться с техподдержкой. Без этого все наши попытки обращения в техподдрежку не увенчались успехом.
5) Качество кода программного продукта оставляет желать лучшего. Процедуры либо вообще не задокументированы (95%), либо задокументированы очень плохо.
dit_soft; baracuda; Sodrugestvo; Sergik_D; A1WEB; NikeeNik; ripreal1; +7 Ответить
189. glebushka 273 05.01.22 19:03 Сейчас в теме
(188)
Без обид, но представьте себе ситуацию: отзыв клиента на Cessna 172. Клиент купил самолет, но нанятый "пилот", так и не сдав экзамены, уволился. "Специалисты" клиента сели за штурвал, а самолёт не взлетает, и всё наровит с ВПП выкатится. Вендор выкачивает деньги (требует курсы и корочки), в документации непонятная хрень. Открыли движок, а там вообще ужас, и ничего не задокументировано :)

Менеджером со стороны Первый БИТ был нарушен порядок отгрузки продукта. Он не имел права отгружать вам продукт в принципе (по причине отсутствия специалистов нужной квалификации).
Этого основания достаточно, чтобы получить возврат денежных средств. Если будут проблемы - напишите мне в личку (а чтобы сократить процесс, лучше сразу отправьте вместе с запросом на возврат - ссылку на это сообщение).

Далее отвечаю не для того, чтобы изменить ваше мнение (с оценками причин не соглашусь, но вывод полностью разделяю - вашей компании не стоило покупать БИТ.Адаптер). А для того, чтобы не возникло ощущения что ушел от ответа.


0. Сравнивать БИТ.Адаптер от команды БИТ:ERP и "Подсистема подключения 1С к промышленным транспортам данных" от команды Серебряной Пули (кстати, оба продукта принадлежат компании Первый БИТ) некорректно. Это продукты разного класса, и решающие разные задачи.
Вы используете понятие "компонента". Так вот, в случае БИТ.Адаптер - компонента вообще распространяется нами бесплатно - https://github.com/BITERP/PinkRabbitMQ, в случае продукта Пули - компонента закрыта, но является только лишь одной из целого набора.
Более того, вы можете даже захотеть использовать БИТ.Адаптер вместе с компонентой Пули (и это даже у вас получится). Зачем так можно захотеть не буду углубляться, это редкий случай, но возможный.
1. Пришлите мне, пожалуйста, ответ разработчиков в личку о корректности документации. Дело в том, что я владелец продукта, и, по идее, знаю всех разработчиков продукта. Вы точно вели диалог с разработчиками?
2. Да, без сертификата нет ни отгрузки, ни поддержки, ни обновлений (мы категорически против установки обновлений специалистами без действующего сертификата).
3. По обновлениям ответил выше.
4. Да, по сопровождению всё верно отметили. К сожалению, что-то пошло не так (с), и вы узнали об этом после покупки продукта. А должны были до.
5. Обсуждать качество кода не готов. Но вам завидую, если вы работаете с продуктами и проектами, где код лучше, чем в Адаптере.

Резюме:
БИТ.Адаптер это крутой, но "нишевый" продукт, предназначенный для небольшого сегмента рынка. На массовый рынок он не рассчитан. Для широких народных масс он не только "ужасен", но и опасен (опять аллегория с самолётом).
190. ignatovatn 06.01.22 14:02 Сейчас в теме
(189) Пример с самолетом красив и образен, но неуместен. Мы не самолет запускаем, а наши специалисты не являются неучами из дальних краев. Мой отзыв написан не с целью получить от Вас оценку своим действиям, а с целью предостеречь от возможного приобретения подобного программного продукта других.. Если бы мы прочли подобный отзыв ранее, то была бы возможность проанализировать и обратить внимание на некоторые вещи, чего, к сожалению, мы не сделали. А Вам стоило бы сделать акцент на "были найдены ошибки в работе БитАдаптера, и отправлены в техподдержку. Однако, нам ответили, что рассматривать их никто не собирается". Вот это по-настоящему важно.
А уж слова про нишевый продукт и широкие народные массы в качестве резюме выглядят, уж извините, вообще некрасиво.
Sodrugestvo; NikeeNik; KilloN; dm1try; ripreal1; +5 Ответить
2. Evil Beaver 8243 29.07.19 14:22 Сейчас в теме
Вот так придумаешь на внутреннем совещании звучное название, напишешь компоненту, научишь людей Кролику, а они тебе за это сравнение производительности не в твою пользу, плагиат-троллинг названия, скопированный 1-в-1 API (который ты мучился сочинял, чтобы удобно было) и даже никаких спасибо. Ну бывает, чего. Не любят у нас в отрасли спасибо говорить.
Sodrugestvo; paybaseme; i.kovtun; kolya_tlt; skeptik2105; propellerads; ZeratulAyuris; ZhdanovR; Bronislav; johnnyshut23; zurapa; JohnyDeath; philya; alexey.karmanov; 🅵🅾️🆇; Scorpion4eg; new_user; Soloist; ingmar; sm.artem; 9-pm; YPermitin; vandalsvq; testnv0; dmpas; ArchLord42; acanta; Infactum; artbear; +29 3 Ответить
3. Begemoth80 340 29.07.19 14:48 Сейчас в теме
(2)
а они тебе за это сравнение производительности не в твою пользу


Почему? Я же явно пишу в разделе "Простой синтетический тест" что Желтый кролик в 1,5 раза быстрее?
7. Evil Beaver 8243 29.07.19 16:03 Сейчас в теме
(3) А в соседнем - не пишете :)

Конкуренция это хорошо. Выпустить бесплатный продукт, вытесняющий с рынка Пулю (или любого другого вендора) - это нормально, это даже хорошо, конкуренция развивает. А вот перевирать названия - плохо.

Представьте, что кто-то начал выпускать автомобили FasterAudi с четырьмя кольцами по кругу или компьютеры GreenApple, где яблоко не откушено. Какое ощущение возникает? Кроссовки Abadis! С соответствующим отношением.
new_user; +1 Ответить
10. Begemoth80 340 29.07.19 16:21 Сейчас в теме
(7)
А в соседнем - не пишете

Цитирую соседний раздел "по этому пока мы не считаем меньшую производительность Pink RabbitMQ проблемой"

перевирать названия

Pink - один из наших корпоративных цветов
RabbitMQ - стандартная часть названия, указывающая с кем обмениваемся
11. Evil Beaver 8243 29.07.19 16:22 Сейчас в теме
(10) Ой, блин, ну продолжайте делать вид, что названия вообще никак не коррелируют в семантике
new_user; berezdetsky; nvv1970; +3 1 Ответить
41. theshadowco 253 30.07.19 16:28 Сейчас в теме
(10)
RabbitMQ - стандартная часть названия, указывающая с кем обмениваемся

(10) В поддержку названия (и только его) посмотрите на github https://github.com/search?p=5&q=RabbitMQ&type=Repositories
4. Gureev 29.07.19 15:32 Сейчас в теме
(2) Сейчас спасибо говорят на гитхабе. Учтите на будущее ;)
5. Tahallus 441 29.07.19 15:36 Сейчас в теме
(2)
даже никаких спасибо. Ну бывает, чего. Не любят у нас в отрасли спасибо говорить

Андрей, не обижайся на меня, но я вот заметил ты часто пишешь про это, как будто обижен, все лавры достаются всем кроме тебя.
Все друг друга копируют таков сейчас мир, это не хорошо и не плохо. Такое чувство что при каждом упоминание 1С+RabbitMQ нужно писать/говорить спасибо.
Droonimus; Irwin; chemezov; lunjio; A_Max; Gorus; user774630; Aptem199; eleva; Gureev; +10 1 Ответить
6. Evil Beaver 8243 29.07.19 15:59 Сейчас в теме
(5) Нет, это не обида и не жажда славы (у меня ее хватает и так), но я, возможно, так воспитан, что считаю нормой выражать признательность тем, у кого я учился или тем, кто как-то иначе мне помог. Если я что-то публикую, то считаю нормой упомянуть как минимум источники, на которых основывался.

Здесь я среагировал тон статьи, название, основанное на названии конкурирующего продукта и увидел выделенные жирным цифры производительности. Это все в совокупности выглядит, как "а мы на*бали серебряную пулю, мы молодцы".

Скажем, если бы статья называлась "MegaRMQ - Бесплатный клиент RabbitMQ для 1С" и предлагаемое API было бы отличным от YellowRMQ - вообще никаких вопросов.

А здесь - прямое копирование с целью заменить и никакого стеснения перед авторами: да, чуваки, мы взяли ваше API, вашу работу по популяризации кролика, даже ваше название, но ничего личного, just business.
Sodrugestvo; bladeson; troubleshooter; new_user; YPermitin; berezdetsky; mvxyz; artbear; +8 1 Ответить
8. Tahallus 441 29.07.19 16:10 Сейчас в теме
(6) славы у тебя хоть отбавляй и знающие люди понимают с кого началось движение, клиентов думаю они у вас не сильно отберут, все таки больше покупают опыт чем команду в придачу к инструменту. С названием они конечно переборщили согласен. На счет API, опять же это у все так, возьми amazon и их api, почти все взяли чтобы конкурировать в облаках, и чтобы для конечного пользователя переход был менее болезненным.
A_Max; Gorus; izidakg; +3 Ответить
9. Evil Beaver 8243 29.07.19 16:20 Сейчас в теме
(8) Ну, во-первых, клиентов отберут не у меня, я не работаю в SB. Согласны, что с названием переборщили, и то ладно. И все-таки, в посте, о том "как мы сделали аналог платного продукта" я ожидал увидеть хотя бы минимальный обзор этого продукта и хоть какой-то tribute.
12. Begemoth80 340 29.07.19 16:23 Сейчас в теме
(9)
я ожидал увидеть хотя бы минимальный обзор этого продукта


В статье содержится 3 прямые ссылки на Yellow RabbitMQ (в самых первых разделах) и по тексту он упоминается несколько раз
13. Evil Beaver 8243 29.07.19 16:29 Сейчас в теме
(12) ну блиин, вы серьезно считаете "упоминание" и "обзор" синонимами?
14. Begemoth80 340 29.07.19 16:40 Сейчас в теме
(13)
Возьмем к примеру ПароВоз и ТеплоВоз.
Кажется что:
1.То что в этих словах часть слова одинаковая не является проблемой или перевиранием названия
2.В статье на WiKi про ТеплоВоз не должно быть обзора ПароВоза, но должна быть на него ссылка
Irwin; pfilyk; +2 Ответить
15. Evil Beaver 8243 29.07.19 16:49 Сейчас в теме
(14) вы сейчас на какую мою фразу отвечаете? Если вверх по ветке переписки, то в этой ветке нет ничего про названия, эта ветка про обзор.
18. Begemoth80 340 29.07.19 17:11 Сейчас в теме
(15) я отвечаю на фразы из (13) и (11) одним примером
16. oleg-x 22 29.07.19 16:49 Сейчас в теме
(14) С названием продукта все очень сложно. Например попробуйте выпустить свой продукт (компьютер/планшет/телефон/часы и прочие технологические продукты) с названием Apple, налетят юристы и начнут судится, за плагиат торговой марки.
24. Begemoth80 340 29.07.19 19:49 Сейчас в теме
(6)
название, основанное на названии конкурирующего продукта


Мне кажется что компонента PinkRabbitMQ не является конкурентом продукту Yellow RabbitMQ, также, как она не является конкурентом нашему же продукту Адаптер(иначе мы бы ее не публиковали, так ведь?).

Компонента - это всего лишь компонента (обертка над типовой библиотекой), а "Подсистема Yellow RabbitMQ содержит в себе высокоуровневые абстракции для наиболее распространенных схем" (цитирую из статьи по ссылке).

Т.е. в том же Адаптере, на мой взгляд, ценность не в транспорте, а в том, что он на типовых (и не типовых) конфигурациях позволяет сделать обмен из коробки.


С другой стороны чем больше людей познакомятся с новой технологией, тем лучше (а открытый код компоненты этому способствует)
Shmell; Irwin; chemezov; A_Max; izidakg; Aptem199; Gureev; +7 Ответить
57. minimajack 80 31.07.19 13:38 Сейчас в теме
Вот не понимаю я SB.

(2)
на утреннем совещании звучное название, напишешь компоненту, научишь людей Кролику, а они тебе за это сравнение производительности не в твою пользу, плагиат-троллинг названия, скопированный 1-в-1 API (который ты мучился сочинял, чтобы удобно было) и даже никаких спасибо. Ну бывает, чего


Я бы еще понял претензии если бы вы компоненту писали работая в первом бите...а так либо работая в SB или по заказу SB.

Давайте трезво:
- Сравнение производительности - еще осталось добавить "ЗАПРЕТИТЬ ВЫКЛАДЫВАТЬ РЕЗУЛЬТАТЫ ЛУЧШЕ ЧЕМ ХХХХХХ"
- SILVER BULLETES - хм...тоже цвет первый, совпадение....а давайте Yellow (желтая программа 1С) и RabbitMq сольем...вот круто будет! УНИКАЛЬНОСТЬ прям 100-го левела.
- Написали обертку на популярную, или как нынче можно говорить - ХАЙПОВУЮ, технологию. Ну уж ampq-либы явно не сами писали. Как там в комплекте с поставкой от SB лицензии на opensource либы прикладываются?
- Что то нет в опенсорсе "yellow rabbitmq" за что спасибо?
- Спасибо за обучение технологией которую сами же и впариваете, REALLY?

з.ы. Без обид парни...не храните все яйца в одной корзине. Я понимаю бизнес-шмизнес, но к такому надо быть готовым.
з.з.ы. сори за срач не по теме
embarcadero; starik-2005; izidakg; Dach; Irwin; pfilyk; lunjio; zurapa; sashocq; +9 Ответить
68. zurapa 01.08.19 10:11 Сейчас в теме
(57) А, вот, аргументированно даже. Вовсе не срач! Просто правда с говницом в лицо. Я это люблю.
Вот, если у жёлтокролика не открыт код, то тогда действительно уже спасибо не за что говорить. Концепции все друг у друга перенимают, и как бы на это не стоит залупаться. Другое дело если код скопировали в чистую и не упомянули, тогда да. А API, я правильно понимаю, это набор команд к сервису, чтобы с ним общаться. Его для того и делают похожим максимально на аналогичную технологию, чтобы пользователям удобно было переходить - есть такое выражение - удобство пользователя.
Бывает же так, что создатель продукта выбрал не ту технлогию, не тот язык и повесил свою идею на не совсем эффективные технологии. Почему нельзя скопировать идею и сделать аналогичное на другом, быть может даже более эффективном? Кому от этого плохо стало? При том, что в историю вы уже записаны, а на другие языки это же переписывать вам лень, ибо сейчас интересно другое.
Разработчики как дети - Не играй в мою машинку пусть лежи. Я ей тоже играть не буду, но пусть лежит, я сказал!
17. vandalsvq 1587 29.07.19 17:10 Сейчас в теме
А что с БИТ случилось? Я что-то пропустил и они начинают превращаться в корпорацию "добра"?
Или стартапу БИТ:ERP вдруг дали немного больше привилегий, чем остальным?
smirnov.es; glebushka; berezdetsky; +3 1 Ответить
23. Tahallus 441 29.07.19 19:31 Сейчас в теме
(17) БИТ вообще волшебная компания, сотрудник БИТ-а чтобы обучиться БИТ:Адаптер должен сам заплатить деньги в размере 50к, внезапно )), так что похоже на чье-то несогласованное действие. Предвижу что либо удалять все это, либо больше не будут обновлять репозиторий.
25. Begemoth80 340 29.07.19 19:51 Сейчас в теме
(23)
ибо удалять все это


Как можно удалить опубликованный и 7 раз "форкнутый" репозиторий? ;-)
27. Tahallus 441 29.07.19 20:26 Сейчас в теме
(25) не так выразился бро, удалять статью и обсуждение, забросят репозиторий.
29. Begemoth80 340 29.07.19 20:44 Сейчас в теме
(27)
удалять статью и обсуждение, забросят репозиторий


Зачем? Я вроде попытался описать нашу мотивацию в статье и в этом комментарии (24).

Т.е. это не баг, это фитча :-)

И да, мы ожидаем, что в результате публикации компоненты https://github.com/BITERP/PinkRabbitMQ придут разработчики, и помогут сделать ее лучше
chemezov; +1 Ответить
30. Begemoth80 340 29.07.19 20:48 Сейчас в теме
(27)
удалять статью и обсуждение


Зачем? Я вроде в статье и в комментарии (24) попробовал описать нашу мотивацию.

Т.е. это не баг, это фича :-)

И да, мы заинтересованы в том, чтобы на GitHub в репозиторий компоненты пришли разработчики, и помогли сделать компоненту лучше.
chemezov; zurapa; +2 Ответить
26. glebushka 273 29.07.19 20:13 Сейчас в теме
(23)
(17) БИТ вообще волшебная компания, сотрудник БИТ-а чтобы обучиться БИТ:Адаптер должен сам заплатить деньги в размере 50к, внезапно )).


Это сейчас было сугубо для пущего эпатажа? Если нет, прошу сообщить (можно в личку) конкретику: кто, когда, кому и при каких обстоятельствах в компании Первый БИТ предложил курс сотруднику за 50 тыс. руб.?
Сотрудникам компании офисом-разработчиком (БИТ:ERP) предоставляются скидки для повышения квалификации, и по имеющейся практике офисы, где работает сотрудник, компенсирует затраты на обучение и сертификацию по БИТ.Адаптер вплоть до 100% от стоимости (но это зависит от офиса, сотрудника и его руководства).
28. Tahallus 441 29.07.19 20:28 Сейчас в теме
(26) И правда попутал, БИТ стал великодушен и для собственных холопов сделал скидку.
Прикрепленные файлы:
tolyan_ekb; Sodrugestvo; ubnkfl; triviumfan; zurapa; user774630; +6 2 Ответить
32. TODD22 19 29.07.19 21:48 Сейчас в теме
(28)
И правда попутал, БИТ стал великодушен и для собственных холопов сделал скидку.

Скоро придётся доплачивать за работу в БИТе:
-Вам выпала великая честь работать в нашей компании, с нашими отраслевыми продуктами, с вас 50 тыс руб в месяц и на работу просим не опаздывать.
ubnkfl; chemezov; zurapa; izidakg; +4 2 Ответить
37. qwed557 30 30.07.19 12:44 Сейчас в теме
(28) И правда волшебная контора, своих же сотрудников для работы со свей же разработкой обучать за деньги сотрудников.
ubnkfl; chemezov; zurapa; +3 2 Ответить
110. mpeg1989 131 31.10.19 15:24 Сейчас в теме
(28) Ребят, вы не вникаете в тему, потом говорите. Как старухи на заваленке, чесслово. Как сотрудник бита, который прошел данный курс, могу заявить, что мне это не стоило ни копейки, если не пересчитывать время, потраченное на подготовку, в деньги по стоимости часа. Вся данная фишка заключается в возможности подсчета эффективности/прибыльности филиала.
73. kembrik 10 01.08.19 12:45 Сейчас в теме
(17) Корпорация добра? Нет, не про них. Сам Адаптер как то "внезапно" со 150 подорожал до 200, плюс агрессивно навязывается недешевый саппорт. Ах вы купили год назад и не оплатили саппорт? Ну бывает. Надумали внедрять? Ну, хорошо. Оплатите саппорт за то время, которое не платили и ещё купите годик, будем разговаривать. Комплект поставки адаптера вообще за гранью, это конвертик с лицензией. Всё! Т.е за эти бабки мы даже инструкции "В бумаге" не получили
ZDmitry83; +1 Ответить
79. glebushka 273 01.08.19 14:14 Сейчас в теме
(73)
Приношу извинения. Скорее всего вас неверно информировали. У нас изменилась не только цена. Было введено требование обязательного наличия квалифицированного специалиста в команде внедрения/поддержки.
Мы не сможем у вас принять деньги за саппорт. Поскольку, как я понял из вашего сообщения, у вашей компании нет специалиста с действующим сертификатом "БИТ.Профессионал по интеграции".Это сейчас проверяется при каждой отгрузке. Поэтому если сертификата на этапе отгрузки не окажется, то мы возвращаем деньги (без отгрузки). Обратите внимание, чтобы не терять время.

PS. Прошу вас написать в личку рег. номер и имя менеджера, который вас консультировал, мы проведем работу, чтобы ситуация не повторилась.
80. vandalsvq 1587 01.08.19 14:50 Сейчас в теме
(79) т.е. надо ещё м сертифицировать своего сотрудника чтобы с БИТ работать? А затраты на сертификацию бит компенсирует?
ZDmitry83; +1 Ответить
82. glebushka 273 01.08.19 16:33 Сейчас в теме
(80) Нет, не компенсирует. Стоимость обучения и сертификации специалиста здесь: https://bit-erp.ru/adapter#edu
86. kembrik 10 02.08.19 16:04 Сейчас в теме
(79) Это достаточно новая инициатива, на момент покупки нами адаптера таковой не было. То есть, получается что затраты на Адаптер сейчас составят 200 тысяч за конвертик с лицензией, 50 тысяч за доступ на месяц к курсам (эффективность их и наполнение под большим вопросом) и 20 тысяч за сертификат специалисту, заплатить 67 тысяч за обновление и каждый год потом ещё оплачивать 67+20 (обновления плюс подтверждение сертификата). Не знаю как у вас, но у меня перед глазами стоит Золотая антилопа.

А нет ли лёгкого диссонанса с утверждением:

Мы продаем решение, которое состоит из коробки, готовых шаблонов интеграций между популярными системами и курсом (с сертификацией) для специалистов заказчика. По практике спец, который ранее занимался обменами на КД2/3 в течение недели начинает делать обмены на БИТ.Адаптер, в течение двух недель скорость разработки интеграций становится не меньше чем раньше, а в течение месяц интеграции разрабатываются быстрее. При этом сообщения мелкие, передаются часто, доставляются быстро и надежно. Разница очевидна при этом не только спецам, но и конечным пользователям.


Фирма же, которая по новым правилам приобрела Адаптер, купила доступ на месяц к курсам и провела сертификацию специалиста, при увольнении данного специалиста получает неработающий немасштабируемый блок, сравнимый по стоимости с ERP

Нет у вас "коробки", не вводите людей в заблуждение. По крайней мере не было год назад. Есть бумажка с лицензией, пара ссылок на Confluence и файлик с внешней обработкой, всё. "Коробочный" продукт в понимании человека, который выделил на данный "прожект" деньги это сущность, позволяющая сотруднику с определенным опытом работы, но без опыта работы с "кроликом" через неделю после покупки выдать MVP.

Ну это если вынести за скобки фактическую функциональность Адаптера, особенно если попробовать реализовать на нём "из коробки" обмены типовых конфигураций. не относящихся к "Большой тройке"

Вы молодцы, тут вопросов нет, светлые головы, жадные до денег, вот только денег вам дарить больше не хочется, лучше дождаться когда 1С в типовых добавить "обмен через кролика" и мне всё равно чью внешнюю компоненту они возьмут за основу, из данного топика или "ту, другую"
ZDmitry83; berezdetsky; +2 Ответить
90. glebushka 273 03.08.19 22:24 Сейчас в теме
(86)
Вы, в целом, корректно описали состояние БИТ.Адаптер по состоянию на год назад: это была подсистема, которая имела сложную структуру, имеющая поддержку обмена разными форматами несовместимыми друг с другом, и поддерживающая, помимо прочего веб-сервисы. При этом имеющая высокий порог вхождения. В тот момент покупали систему или наши клиенты в рамках проектов, или "энтузиасты", которые в любом случае хотели перевести интеграции на событийную модель, и для многих наших ранних покупателей это, действительно, позволило сократить затраты и ускорить выпуск MVP.

Но для массового рынка продукт был не готов, и, кажется, мы вовремя поняли это и внесли соответствующие изменения:
1. Разработали интерактивный курс обучения и аттестации в виде выполнения практического задания и собеседования с экзаменатором в режиме телеконференции
2. Экзамены принимают исключительно сами разработчики продукта (это позволяет им быть как можно ближе к рынку, а студентам получить ответы на вопросы в контексте конкретной ситуации в их компании)
3. После экзамена у студентов остается на весь срок действия сертификата доступ в закрытый канал Slack, где они могут задавать вопросы и советоваться по сложным случаям напрямую с разработчиками продукта (с одним из которых "познакомились" на аттестации)
4. Сам продукт претерпел существенные изменения: количество опций в интерфейсе радикально сократилось, при одновременном увеличении числа сценариев интеграции, поддерживаемом из коробки
5. В продукт постоянно добавляются новые шаблоны интеграции (в котором аккумулирован наш проектный опыт), а курс - постоянно дорабатывается, с большими обновлениями каждый квартал
6. Именно прямая обратная связь непосредственно от разработчиков на конкретных внедрениях позволила нам уверенно отказаться от части неиспользуемого кода, а также добавить в продукт недостающий функционал (например, в ближайшее время в бит.адаптер будет добавлен функционал, который позволит выбирать между JSON/xml, при этом сохранив обратную совместимость. Это мы делаем, так как оказалось, что БИТ.Адаптер оказался очень популярным решением для реализации интеграции с веб-сайтами (битрикс, битрикс 24, atlassian и т.п.).
7. Последние два двухнедельных спринта идет рефакторинг кода, поскольку по обратной связи от студентов стек вызовов был слишком запутанный и, иногда, нелогичный. Использование CI-контура позволяет нам быть уверенными в минимизации числа проблем у наших клиентов, связанных с этой работой
8. Наконец, мы приняли коммерчески спорное решение: запретить продажи клиентам, у которых нет специалиста с действующим сертификатом БИТ.Адаптер.

Что касается вашего расчета стоимости - там есть неточности. С одной стороны, стоимость курса включает одну попытку сдачи, с другой - мы категорически рекомендуем через год оплатить заново обучение: это точно будут совершенно другой курс и продукт :)

PS. Я очень сожалею что у вас есть негативный опыт использования ранней версии БИТ.Адаптер. В качестве компенсации могу предложить следующее: вам (или вашему специалисту) мы дадим доступ к курсу и сертификации бесплатно. В случае успешной сдачи экзамена, и вашей заинтересованности, мы "простим" пропущенные периоды обновления, предоставив вам возможность, оплатив обновления, получить новую версию продукта и получать обновления в течение года. Уверен, что пройдя курс вы измените свое отношение к продукту.
Если актуально - прошу написать в личку ваши контакты для связи, а также рег. номер и дату покупки БИТ.Адаптер.
93. kembrik 10 05.08.19 14:38 Сейчас в теме
(90) "Сообщение не отправлено, отложенная группа", что бы это ни значило. ник в Tg @Kembreg
19. ZLENKO 398 29.07.19 17:52 Сейчас в теме
Ждем реализацию вендором протокола AMQP :-)
20. Begemoth80 340 29.07.19 18:15 Сейчас в теме
(19) А чем это будет лучше/полезней чем компонента с открытым исходным кодом (кроме маркетинга)?
Т.е. если посмотреть код компоненты, то никакой "хитрой" логики там нет, это всего-лишь небольшая надстройка над типовой библиотекой AMQP-CPP для взаимодействия с 1С.
Что бы 1С могла туда полезного добавить с точки зрения функций или технологий?
chemezov; +1 Ответить
21. TODD22 19 29.07.19 18:20 Сейчас в теме
(20)
Что бы 1С могла туда полезного добавить с точки зрения функций или технологий?

Поддержку из коробки, без всяких компонент.
izidakg; ZLENKO; +2 Ответить
22. Begemoth80 340 29.07.19 19:05 Сейчас в теме
(21) А чем поддержка
из коробки, без всяких компонент
лучше чем внешняя компонента с открытым кодом?
Т.е. с точки зрения кода 1С отличие в 2 сточках, где подключается компонента.
31. TODD22 19 29.07.19 21:39 Сейчас в теме
(22)
лучше чем внешняя компонента с открытым кодом?

А чем хуже?
33. Begemoth80 340 29.07.19 21:51 Сейчас в теме
(31) На мой взгляд особой разницы нет, по этому будет сложно просить
реализацию вендором протокола AMQP
45. leemuar 21 30.07.19 18:47 Сейчас в теме
(33) ЕМНИП внешние компоненты не умеют работать с коллекциями (массивы, структуры) и другими встроенными объектами (потоки, например). Это не всегда удобно
64. Begemoth80 340 01.08.19 07:23 Сейчас в теме
(45) Ну вроде в нашем конкретном случае это не является проблемой.
Кажется, что проблема обходится, если вместе с компонентой делать некий общий модуль-обертку, в котором "спрятаны" подобные особенности. А функции этого модуля если смотреть "снаружи" уже не имеют таких ограничений.
70. zurapa 01.08.19 10:31 Сейчас в теме
(45) Зачем в 1С весь сброд тащить. Компоненты весьма приемлемая вещь, если она не в особом ходу. Кому кролик нужен? Покажите пальцем. Просто чтобы погонять? Или действительно нужен?

Давайте начнём с того, что до кучи разработчиков обмены делают на файловых шарах. Вот так вот просто берут, шарят папку, в неё выгружают, а потом другим сервером это забирают. И всё бы ништяк, но они это делают и на сильно удалённых друг от друга системах, да ещё и по слабым каналам связи, а потом залупаются, что обмен херовый в 1С. И им даже не в домёк это делать хотя бы по почтовому протоколу. Вообще в принцыпе на слабо нагруженных системах, ну или так, не сильно нагруженных системах, можно справится и почтовым транспортом, который в том числе есть и в кролике, но нам нужен кролик. Нахера нам стандартный почтовый протокол и умение 1С работать с SMTP?!

А потом, когда достаточно кроликов и прочих хреней напихали в 1С и она стала что-то тормозить, потом начнём залупаться на быстродействие 1С и искать, что-нибудь получше. Это вот типичная проблема современного IT сообщества - хвататься за хайповые неотлаженные вещи, принебрегая известными отлаженными годами протоколами. Я понимаю, когда это про нагрузку, но в большинстве случаев, это говёно спроектированная архитектура, а нагрузка лишь показывает говёность проекта.

Вот склонение правильное фраз весьма было бы полезно, но его тоже не запихивают в 1С, ибо склонять всё равно всё не получится правильно и придётся допиливать и придумывать костыльные решения (язык у нас такой), а быстродействие можно ещё существенно посадить и ещё и поддерживать же это нужно, отлаживать, чтобы на каждое замечание исправить...
А потом когда мы в другую страну пойдём, то и под другой язык нужно будет это пилить, чтобы не было так, что для одного языка у нас всё есть, а для вашего нет, используйте костыли...

Вот веб-сервер строить в 1С, наверное полезно будет, чтобы не мыкаться с апатчами, при том, что веб-сервер, прям, очень в ходу в 1С.
DSergunov; +1 2 Ответить
75. Rashid80 32 01.08.19 13:54 Сейчас в теме
(71)
Если это ответ мне то я прекрасно знаю как работает кролик ибо использую его в других языках. Именно поэтому я и удивился как они скрестили обмен и кролика. По факту это просто rpc.
Прежде чем рвать тельняшку и доказывать очевидное можно выдохнуть и спросить
81. zurapa 01.08.19 15:48 Сейчас в теме
(75) Из вопроса было понято, что вы пытались запихать туда большое. А это только могут делать те, кто не знает особенностей, поэтому меня тут прорвало.
Если вы это знаете, то могли бы намекнуть как-то в своём сообщении. Забавно же получилось в примером, про "срать ракетами"?.. ;)
Не обижайтесь. Этим своим ответом вы полностью реабилитировались. А я получил возможность в несколько юморной форме подчеркнуть особенность кролика для тех, кто не в теме, но по каким-то причинам читает эти комментарии.
Мир вам.
83. Begemoth80 340 01.08.19 16:34 Сейчас в теме
(75)
По факту это просто rpc

Уточните пожалуйста, что вы здесь имеете в виду?

Что кролика можно использовать только для реализации RPC (remote procedure call) и нельзя/не эффективно использовать для передачи данных (даже если это просто информация о событии, например Создан контрагент ООО "Молоко")?
36. Begemoth80 340 30.07.19 11:39 Сейчас в теме
34. Rashid80 32 30.07.19 01:16 Сейчас в теме
"В рамках теста из базы УТ10.3 в базу ERP переносился 1241 документ и проводился в ERP (реализации товаров превращались в поступления)
...
План обмена из БСП в формате КД2"

Не понятно - вы гоняли тяжелые XML через кролик или что? В чем заключается обмен с помощью кролика?
35. Begemoth80 340 30.07.19 06:32 Сейчас в теме
(34) Обмен с использованием Pink RabbitMQ и Yellow RabbitMQ выполняется с помощью Адаптера, там свой достаточно легковесный формат (в принципе у нас есть в общедоступной документации, но могу отдельно про него написать). Данные передаются через кролика.

Обмен "из БСП в формате КД2" выполняется через файлы (т.е. "типовой обмен", кролик тут не участвует)
59. mybracho 31.07.19 15:31 Сейчас в теме
(35) Где почитать про ваш внутренний легковесный формат?
60. Begemoth80 340 31.07.19 15:37 Сейчас в теме
71. zurapa 01.08.19 10:34 Сейчас в теме
(34) Мужик! Это просто жесть! Ты когда берёшь технологию, ты хотя бы посмотри чуть-чуть видосики от разрабов объясняющие, как это рабтает и для каких целей. Везде где говорят о кролике, говорят о том, что он для мелких порций данных но очень частых. Большое в него сувать - это как пытаться срать ракетами - будет очень больно и смертельно даже. Не спрашивай такие вещи! Их даже читать не нужно, об этом рассказывают!..
38. Gureev 30.07.19 13:06 Сейчас в теме
Сделать открытый продукт и выложить исходники это гораздо круче, чем написать тулзу за деньги, и это достойно уважения.
Не слушайте завистников и злопыхателей.

Комерсы всегда будут втыкать палки в колеса технического прогресса.
Dach; Irwin; chemezov; sashocq; eleva; ripreal1; alprk; izidakg; Aptem199; +9 4 Ответить
39. artbear 1563 30.07.19 14:33 Сейчас в теме
(38) Коллега, Вы бы почитали (2) (6) (8) и задумались, что, возможно, ситуация с "новым" продуктом все-таки сильно (!) отличается от простого "Сделать открытый продукт и выложить исходники" :(
berezdetsky; +1 Ответить
40. Gureev 30.07.19 15:01 Сейчас в теме
(39) Я все прочитал.
Воровство кода доказано? - Нет.
Название? - Я думаю Битлз были первыми.
API? - Ну логично, что будет что-то совместимое. Программист же не идиот, делать несовместимый продукт с написанной инфраструктурой.

Я помню ситуацию с маней, когда кто-то написал аналог его супер-пупер "продукта", сколько было вони.
А потом как маню феерично выпилили с ИС из-за жадности.
корум; chemezov; eleva; Gorus; glebushka; +5 2 Ответить
48. Evil Beaver 8243 31.07.19 07:42 Сейчас в теме
(40) воровства кода нет. Я даже посмотрел в код - написано очень по 1совски "в лоб". Даже кажется знаю почему оно медленнее. Омнокод.

И вообще, воровство в IT плоходоказуемое, ибо это на 80% идеи и лишь на 20% код.

Еще раз повторюсь: сделать конкурирующий продукт это нормально. Сделать его бесплатным - нормально. В чистую содрать АПИ (недореализовав heartbeats, потому что ниасилили) и поведение, накрыв это ёрничающим названием - некрасиво. Просто некрасиво. Но легально
ZDmitry83; chemezov; artbear; +3 1 Ответить
49. genayo 31.07.19 07:58 Сейчас в теме
(48) С названием несколько промахнулись, белый кролик имело бы намного более глубокий подтекст :))
54. glebushka 273 31.07.19 12:07 Сейчас в теме
(49) это имя уже занято в 2012 году: https://github.com/kakaranet/white_rabbit :) Причем там практически все варианты сочетаний с белым есть.
66. Begemoth80 340 01.08.19 08:04 Сейчас в теме
(48)
Даже кажется знаю почему оно медленнее. Омнокод.


Подскажите пожалуйста, "куда копать" (мы не большие специалисты в с++)?

Кажется для партнеров было-бы очень полезным, если бы в компоненте не было явного Омнокода, который к тому-же влияет на ее работу (а именно на производительность)
67. Evil Beaver 8243 01.08.19 09:28 Сейчас в теме
(66) Ну не, посоны, давайте сами и без обид.
ZDmitry83; ZhdanovR; +2 Ответить
42. izidakg 172 30.07.19 17:07 Сейчас в теме
Сейчас мало кто выкладывает исходный код, даже уже "устаревших" решений и уже поэтому автору спасибо, а учитывая актуальность темы - СПАСИБО
Если получится, с большим удовольствием поучаствую хотя бы в тестировании.
Что касается благодарности, то как понимаю вопрос не в отсутствии, а качестве))) Ну а по претензии что API 1-в-1 вопрос: кто помнит про такое понятие как СТАНДАРТЫ, ГОСТ? В конце концов даже в публикации от Yellow RabbitMQ есть раздел "Без имени нет предмета".
Получается при желании разработать свой продукт, разработчик должен придумать все свои наименования объектов, команд? Возможно есть ситуации где это реально необходимо, но в большинстве случаев это глупость мешающая развитию.
А в целом статья Yellow RabbitMQ мне очень понравилась, для важно было подробное описание элементарных вещей, жаль нет возможности поработать с компонентой без оплаты. Эта статья по сути как продолжение, что-то вроде технического описания с приложенным функционалом для работы
46. Begemoth80 340 30.07.19 20:08 Сейчас в теме
(42)
Если получится, с большим удовольствием поучаствую хотя бы в тестировании.


Да, вы бы могли очень помочь проекту.

Сейчас у нас выполняется автоматическое тестирование сборок компоненты с использованием ADD (он тоже есть на GitHub, его делает Артур, он тоже участвует в этом обсуждении).

ADD нам полностью подходит, но сама проверка выполняется на тестах Адаптера.

Т.е. мы автоматически заменяем компоненту на новую сборку в Адаптере, и прогоняем на нем функцональные тесты (результат в виде бэджика в репозитории)

С точки зрения проверки, что ничего не сломали, это хорошо, но мы не можем отдать эти тесты партнерам, а хотелось бы, чтобы они сами могли тестировать свои доработки в компоненте.

Т.е. для того, чтобы все кто скачивает компоненту могли ее доработать и сами проверить, что ничего не сломалось, нужно:
1. Разработать некий минимальный (но полный) набор BDD тестов которые проверяют именно работу компоненты, например используя ADD
2. Включить эти тесты в репозиторий PinkRabbitMQ

Тогда любой, кто клонирует репозиторий сможет внести свои изменения, пересобрать компоненту (мы постарались максимально облегчить этот процесс включив зависимости) и сразу проверить, что ничего не сломалось.

Мы в свою очередь будем автоматически выполнять этот дополнительный набор тестов у себя на серверах, и выкладывать результаты в виде отдельного бэджа (т.е. будет двойное тестирование)

Мы чуть позже выложим в репозиторий файлик CONTRIBUTING.MD в котором опишем правила, как можно вносить изменения в репозиторий. Но если вам интересна такая задача, то можно прямо сейчас начать с создание соответсвующей issue в репозитории.
52. ripreal1 523 31.07.19 09:42 Сейчас в теме
(46) О том как поучаствовать в проекте см. файл CONTRIBUTING.MD
62. Evil Beaver 8243 31.07.19 17:41 Сейчас в теме
(42) демо-версия YRMQ бесплатная, насколько я знаю.
96. Alex_Smolensky 104 07.08.19 19:05 Сейчас в теме
(62) может она бесплатная для избранных. Мне не удалось достать ни демо-версию ни описание к ней ни через сайт ни через телефон.
43. hawk911 30.07.19 18:05 Сейчас в теме
Представители Пули не возмущаются, значит они в курсе - а возможно, продали данный продукт... а БИТ пиарится.
44. artbear 1563 30.07.19 18:08 Сейчас в теме
(43) Представители Пули "офигели" от такого "нахальства коллег" :(

Андрей как автор кода выше уже отписался, например, смотри (2) (6) (8)
Я как человек также участвовавший в проекте Желтого Кролика, с ним абсолютно согласен.
47. hawk911 31.07.19 03:52 Сейчас в теме
(44) тогда, да - некрасиво получается.
50. izidakg 172 31.07.19 08:50 Сейчас в теме
(44) и все таки кто-то чего-то не договаривает и под "нахальства коллег" похоже имеется что-то другое, а не описанное в постах (2) (6) (8)
про использование API 1-в-1 даже в (8) написано что это норма, продуктов похожих\идентичных много и требовать другие наименования команд глупо.
еще хотя основная мысль в этих трех постах что было слизано название, которое рождалось в муках творчества и это в серьез? в (6) даже высказано что авторы этой публикации должны были убрать из названия "Rabbit". Вопрос только один - а разве представители Пули являются разработчиком "Rabbit"? Если да, тогда они в праве требовать что-либо на эту тему.
о претензии что Yellow RabbitMQ популизировало кролика, а тут приперлись на все готовое также раздута. Про кролика больше ни кто не пишет?
Да статья получилась немного не политкорректна, ссылок на конкурента хватает. И как понимаю ключевая проблема в исходниках, что в наше время среди "крутых" разработчиков не принято.
Разработчики как понимаю с нуля написали свою компоненту, если есть факты воровства кода, то должны быть приведены факты.
Irwin; chemezov; eleva; barelpro; glebushka; ripreal1; Gorus; +7 1 Ответить
51. ripreal1 523 31.07.19 09:38 Сейчас в теме
Кстати, YellowRabbitMQ API - не что-то эдакое особенное, а просто переадресация и адаптация под 1С части методов либы, вероятно использованной в ее основе http://alanxz.github.io/rabbitmq-c/docs/0.5.0/annotated.html. Да и вообще обе либы ничего сами не делают по сути, а просто перенаправляют вызовы для их понимания 1С-ом. Нормальный С++ прогер может написать эту либу за 2 дня. И стоит ли ради таких вещей разводить споры?

НО!
chemezov; Gureev; zurapa; minimajack; +4 Ответить
53. Infactum 318 31.07.19 11:54 Сейчас в теме
(51) 2 дня - это слишком оптимистичная оценка.
Тесты? Причем не только юниты на уровне C++, но и интеграционные на 1С. Кросплатформенность? Да и ссылку вы дали на С библиотеку.
А уж найти С++ разраба, который знает современные плюсы, а не пишет код по стандарту двадцатилетней давности, да еще и за 1С готов взяться, мягко говоря не просто.
Evil Beaver; +1 Ответить
55. minimajack 80 31.07.19 13:08 Сейчас в теме
(53) ссылка на rabbitmq-c не относится к PinkRabbitMQ

В статье все ссылки на либы : с++ и кроссплатформенные.
2 дня - это как раз норм для MVP; что бы работало хоть как то.

Тесты не обязательно как бы. Кому нужны могут сделать pull request.
56. Infactum 318 31.07.19 13:22 Сейчас в теме
(55) Ну а кому нужен MVP? Тем, кто просто хочет хайпануть, рассказывая , что использует "кролик" ?
Реальному бизнесу нужен продукт. Надежный и протестированный. И на сколько я вижу PinkRabbit так и позиционируется. Хоть и сыроват пока.
Так что фраза про 2 дня выглядит неуместной. Особенно в контексте этой темы, где постоянно сравнивают с продуктом пули.
58. minimajack 80 31.07.19 14:07 Сейчас в теме
(56) MVP - minimum viable product. Даже если это будет работать медленно, синхронно, только получать сообщения - это все равно продукт который можно использовать в бизнесе.
Понятно что есть риски, но зачем продавать со своей подсистемой "левую" компоненту, когда можно написать свою?

Бит:Адаптер и "Событийная интеграция" - никто не сравнивает, сравниваются NativeApi компоненты в конкретной задаче.

з.ы. Я не смог бы заопенсорсить продукт который ломает бизнес другим...но прогресс не может стоять на месте
61. glebushka 273 31.07.19 17:24 Сейчас в теме
(58)
Я не смог бы заопенсорсить продукт который ломает бизнес другим...но прогресс не может стоять на месте


Вообще я не согласен, например, мы начали и не доделали https://github.com/BITERP/vanessa_debugger/
Но мы всё-равно выложили. Вдруг кто доделает? Зачем велосипед с нуля делать?
В общем, разумеется, не нужно вводить в заблуждение, но не выкладывать что-то потому что "вдруг у кого чего сломает" - имхо, неправильно.

Но конкретно к данной компоненте это не относится. Используется уже на нескольких "нагруженных" внедрениях, и имеет вполне себе CI (отчет по которому доступен с гитхаб)
chemezov; +1 Ответить
63. minimajack 80 31.07.19 17:55 Сейчас в теме
(61) Спасибо убедили.
Все что не выложено - исключительно по причинам личного характера. Если это кому нибудь надо - даешь опенсорс!!!
65. izidakg 172 01.08.19 07:57 Сейчас в теме
(51) нескольких ссылок на их публикацию мало? если бы на инфостате не было публикации, то да. В конце концов Yellow RabbitMQ в первую очередь должен был дать ссылку на себя
69. Eret1k 01.08.19 10:17 Сейчас в теме
Хорошее решение, но кое-чего все же не хватает.

Почему не реализовали метод BasicGet?
Вам не кажется что это, выглядит как минимум странно:
Потребитель = КлиентКомпоненты.BasicConsume(ИмяОчереди, "", Истина, Ложь, 0);
КлиентКомпоненты.BasicConsumeMessage("", ОтветноеСообщение, 5);
КлиентКомпоненты.BasicAck();
Если уж вы пишите native и намекаете на использование consumer-a, то имеет смысл попробовать реализовать передачу "Описание оповещения" или "ДобавитьОбработчик"

То что Я описывал на основании COM куда проще.
Результат = Модель.BasicGet(ИмяОчереди, Ложь);


Нет методов: QueueDeclarePassive() и ExchangeDeclarePassive(), а ведь они очень удобно позволяют проверять наличие обмена и очереди на сервере.

Также брокер сообщений RabbitMQ поддерживает маршрутизацию сообщений не только по "routingKey" но еще и по "Headers", второе имеет смысл реализовать, так как в больших компаниях их использовать проще и более наглядно.

P/S/
Спасибо за OpenSource! В мире 1С этого всегда не хватает.
Но мне кажется, что мое описание через com все же проще: https://infostart.ru/public/1051620/
77. ripreal1 523 01.08.19 13:56 Сейчас в теме
(69)
Метод BasicGet() забирает только одно сообщение из очереди. На практических задачах требуется обычно забрать все сообщения из очереди. Поэтому его нет. Можно реализовать самому, т.к. он достаточной простой через issue и пулл реквест.

Компонента не использует Внешние события, вт.ч. ОбработчикОповещение, т.к. все это работает только на клиенте. Это не очень удобно, учитывая, что полученное сообщение обычно сразу нужно записать на сервере. Поэтому на проектах компонента изначально инициализируется на сервере.

По поводу QueueDeclarePassive() и ExchangeDeclarePassive(), В API компоненты в методах DeclareQueue и DeclareExchange предусмотрен параметр onlyCheckIfExists. Она еще не реализован, т.к. не было необходимости.

"Headers" в данной компоненте вообще не поддерживаются. Если кому-то потребуется на реальных задачах можно завести issue на гитхабе, чтобы ускорить процесс
85. Eret1k 02.08.19 10:04 Сейчас в теме
(77)
Метод BasicGet() забирает только одно сообщение из очереди. На практических задачах требуется обычно забрать все сообщения из очереди. Поэтому его нет.


Со всем уважением к данным трудам, но в данной реализации:
КлиентКомпоненты.BasicConsumeMessage("", ОтветноеСообщение, 5) Тогда
КлиентКомпоненты.BasicAck();
И
Результат = Модель.BasicGet(ИмяОчереди, Ложь);
делают абсолютно одно и тоже.

Если Я правильно понимаю API, чтобы забрать все сообщения через компоненту, нужно:
Потребитель = КлиентКомпоненты.BasicConsume(ИмяОчереди, "", Истина, Ложь, 0);
МассивСообщений = Новый Массив;
ОтветноеСообщение = "";
Пока КлиентКомпоненты.BasicConsumeMessage("", ОтветноеСообщение, 5) Цикл
	КлиентКомпоненты.BasicAck();
	МассивСообщений.Добавить(ОтветноеСообщение);
КонецЦикла;

Если бы реализовали Метод BasicGet() и MessageCount() было бы так:
МассивСообщений = Новый Массив;
Пока КлиентКомпоненты.MessageCount(ИмяОчереди) Цикл
	Результат = КлиентКомпоненты.BasicGet(ИмяОчереди, Ложь);
	МассивСообщений.Добавить(Результат.Сообщение);
КонецЦикла;

Второй вариант красивее и более интуитивно понятный чем имеющийся на данный момент.
88. ripreal1 523 03.08.19 12:26 Сейчас в теме
(85) Не получится так сделать. Нет метода, который позволяет получить количество сообщений в очереди. Кроме того мы делали API совместимое с серебрянной пулей.
78. glebushka 273 01.08.19 13:59 Сейчас в теме
(69) (77) реально ускорит процесс примеры из жизни, где бы потребовался указанный функционал, которые бы были релевантны реальным или потенциальным пользователям БИТ.Адаптер.
Если же это специфическое требование, нужное (69), то самый надежный способ: сделать самому и сделать пулл-риквест.
72. zurapa 01.08.19 11:13 Сейчас в теме
А у меня тут вопрос возник по обоим кроликам. Зачем они, если есть такие разработчики, которые не понимают его концепции и пихают туда большое, при том что 1С уже умеет SMTP, в который можно пихать и большое. Почтовик это вполне пережуёт и отправит и даже на говёных каналах связи это просрётся с какой-то там попытки. Но, почему-то мы все говорим о кроликах, которые не умеют срать ракетами, но каждый заурядный программист пытается выяснить величину ракеты, с которой кролик порвётся и перестанет бегать между серверами. А потом ещё и выступают на конференциях со своими открытиями.

Есть почтовый сервер без шифрования канала, без авторизации в локальной сети. На него можно подать по SMTP пакетик с данными (письмо), которое долетит в нужную точку. Почтовый сервер можно настроить так, чтобы от поределенного клиента письма дублировались и летели сразу в несколько других серверв, или почтовых ящиков, из которых потом можно другими базами забирать всё это говно. Почтовые сервера если они подняты на линукса, то тоже не шибко много потребляют и настраиваются влюбых вариациях и легко расширяемы по памяти. И вот в этой части мне не понятно преимущество кролика, чтобы ваять какую-то либу, постигать новую технологию, чтобы потом ещё привыкать к её особенностям.

Скорость! Да! Да! Да! Вы скажете скорость! Вот тут согласен. Только при всей этой скорости у вас возникают множество неизвестных, когда пакеты не приходят, или сервис упал, или ещё там что-то и вы не придумали как сохранить эту очередь... Надёжность! Да! Да! Да! Надёжность никакая! Особенно если вы её хорошо не обкатали!

Так вопрос снова - На... Зачем нужен кролик?! - если надежность и гарантия доставки падает, появляется куча других неизвестных, хоть и доставляется всё вроде бы быстрей.

А вы в курсе почему 1С так хорошо приживается в корпоративном секторе? Не из-за скорости работы? А из-за скорости и простоты разработки, и из-за гарантии хранения данных без путаницы и потери. 1С хороша тем, что потерять данные в ней нужно постараться, сама она их не теряет. Она может зависнуть под нагрузкой. Но правильно настроенный обмен, как он устроен в 1С не теряет данные. Вот поэтому 1С позволяет очень удобно быстро работать малоквалифицированными кадрами.

И вы со своим кролём пытаетесь эту технологию перевести на некий иной уровень, когда это будет работать непонятно как, вам потребуются неслабые знания в работе кроля, и понимание всех тонкостей одновременной работы с одинми и теми же данными из разных мест.
Значимость свою повышаете? Денег больше хотите? У вас это получится.

Только, когда вы станите очень крутыми руководителями, знающими весь этот багаж технологий: кролей, молей, постгресов - вам придётся искать себе в подчинение специалистов на эту инфраструктуру сложную, и там вы увидите то, что вижу я... Специалистов таких не будет. У вас будет отдельно специалист по постгресу, но не знающий 1С, и будет хотеть кучу денег за свои экспертные знания, у вас будет спец по кролику, который будет хотеть за свои знания много денег, но не будет хотеть разбираться в 1С, а ещё у вас будет системный администратор, который совершенно не за хочет знать 1С, но будет круто знать почтовики ( но увы не postfix, а Exchange).... Там бескончено можно продолжать. В общем у вас будет возможность раздуть бюджет IT до невообразимых размеров и потом хвастать на конференции, какой вы молодец, что вы всё это тяните шибко не вдаваясь в подробности, как это работает.
А если у вас фирмочка не транснациональная, то вы со всем этим сядите в лужу, потому, что такого многоликого спеца с нужным стеком знаний нет, а вам одобрили взять только двух, и вы будете выбирать между умным или дешёвыми двумя, которых ещё придётся доучивать. Но ни тот умный, ни те два тупых не закрывают ваших необузданных фантазий.

А мораль этой всей басни такова - чтобы что-то пихать в индустрию, нужно сначало думать, как это отзовётся на вас же.

Кролик - весьма сомнительная технология, как и кафка для 1С. В больших корпорациях это может и стрельнит, но в среднем бизнесе это лишь удорожает весь процесс решая всё тот же круг задач.
Dach; botokash; DSergunov; nicxxx; +4 7 Ответить
76. glebushka 273 01.08.19 13:55 Сейчас в теме
(72)
Кролик - весьма сомнительная технология, как и кафка для 1С.


А кто вам сказал что клиентам нужно продавать кролика и данную компоненту к кролику? Это оупенсоурс, и незаконно :)
Мы продаем решение, которое состоит из коробки, готовых шаблонов интеграций между популярными системами и курсом (с сертификацией) для специалистов заказчика. По практике спец, который ранее занимался обменами на КД2/3 в течение недели начинает делать обмены на БИТ.Адаптер, в течение двух недель скорость разработки интеграций становится не меньше чем раньше, а в течение месяц интеграции разрабатываются быстрее. При этом сообщения мелкие, передаются часто, доставляются быстро и надежно. Разница очевидна при этом не только спецам, но и конечным пользователям.
А для корпораций есть версия КОРП, которая дополнительно и готовый CI-контур содержит. Но тут я соглашусь, для среднего бизнеса это пока слишком дорого в первичной настройке и обслуживании.
Поэтому мы и не паримся, и вложили в опенсоурс. Так как те, кто пользуются нашей компонентой это:
1. или энтузиасты, которые как минимум помогут улучшить и компоненту, и БИТ.Адаптер, как максимум - наши будущие сотрудники :)
2. или наши будущие клиенты, которые столкнувшись с описанными проблемами, сформируют как раз ту потребность, которую закрывает БИТ.Адаптер.
PS. С точки зрения сложности внедрения, поддержки и диагностики проблем традиционные решения гораздо сложнее чем кролик
84. zurapa 01.08.19 17:12 Сейчас в теме
(76) Позвольте я перефразирую ваши слова в контексте своего мнения как это выглядит на мой взгляд.

Вы говорите, что не продаёте кролика, а лишь продаёте курсы обучающие определённому стеку технологий. Там во всей моей тираде, как раз и объясняется, что вы делаете. Вы придумываете новый стек технологий, новый уровень компетенций, чтобы:
1. Из специалистов выжать деньги.
2. Из компаний выжать деньги на новых специалистов, подготовленных вами.

Это, как делать всё более требовательные к ресурсам приложения, чтобы покупали более дорогие и современные смартфоны.

Утилитарно вы не несёте никакой пользы, лишь вкраиваете в технический стек ещё больше мусора, который потом просто так уже не выкинешь, а придётся поддерживать как-то.

И Кстати о цене. У вас недешёвый продукт. Для большой корпорации это конечно не деньги, но вопрос в том, что это не хлеб... Платить деньги за кота в мешке, который не известно как будет работать на моей инфраструктуре - это как минимум не компетентно. Ваши тесты и обещания это не о чём.

Если вы такие прогрессивные за OpenSource сделайте так, чтобы нужно было платить за поддержку, обучении, сделайте продукт свободным для скачивания, а не 200-500 тыс. руб. Если продукт того стоит, то, думаю корпорации поддержат его рублём. Или нет?

С 1С'овской иглой и так всё понятно, к ней привыкли, с неё не соскочить. А ваша иголка очень дорогая. Но если 1С упирается где-то в потолок своих возможностей, и компания позволяет содержать штат разработчиков, то я бы что-нибудь своё, или из opensource взял и допиливал в складчину с другой такой же отчаянной компанией, нежели платил бы за очередной костыль для 1С, который всё равно упрёт меня в потолок но чуть позже.

П,С.: OpenSource можно продавать, и это законно. Вы всего лишь должны полностью открыть код для разработчиков, чтобы они могли его взять и поправить. Так работает BSD лицензия. Вы можете взять любой BSD код и продавать его. Можете его скопировать, модифицировать, закрыть и продавать. OpenSource - открытый код. Там не сказано про запрещение продавать. И даже в GPL если не ошибаюсь можно продавать такой код - только закрывать нельзя.
74. acanta 01.08.19 12:59 Сейчас в теме
Пока фирма 1с не сделает собственную сертификацию по постгресу и вообще каждый отдельной поддерживаемой СУБД как предшествующую экзамену на эксплуататора...
87. kabanoff 49 02.08.19 16:08 Сейчас в теме
Не получается проверить вашу компоненту.
Создал себе тестовый стенд на cloudamqp.com, в демонстрационной обработке прописал параметры подключения. При попытке подключиться обработка напрочь зависает как на клиенте, так и на сервере. Зависает на методе КлиентКомпоненты.Connect().
89. ripreal1 523 03.08.19 12:28 Сейчас в теме
(87) Компонента зависает, если пытается подключиться к порту, которого не сущесвует на сервере. Поэтому скорее всего неправильно прописан порт.
91. kabanoff 49 05.08.19 09:57 Сейчас в теме
(89) Да, всё получилось. Спасибо!
92. altu71 05.08.19 12:27 Сейчас в теме
Напишите, пожалуйста, поподробнее, что нужно сделать, чтобы заработала ваша компонента на сервере под Линуксом? Достаточно собрать с указанием нужной платформы или нужно вносить изменения в исходный код компоненты? Если второе, то планируете ли вы в ближайшее время это сделать? В наше импортозамещаемое время это было бы актуально для многих, мне кажется.
94. ripreal1 523 05.08.19 15:49 Сейчас в теме
(92)
Код нуждается в небольшой доработке. Кроме этого нужно пересобрать 2 зависимости, а также сделать новый конфиг в sln проекте для запуска под линукс. Пока таких планов нет. Контрибьюторы приветствуются.
Оставьте свое сообщение