RabbitMQ: отложенные сообщения

Задача: организовать доставку сообщения «слушателю» спустя какое-то время, а не сразу

Решение: одним из способов реализации является использование модуля rabbitmq-delayed-message-exchange.

Установка для Ubuntu:

  1. Скачать подходящую версию модуля для версии вашего RabbitMQ в формате *.ez
  2. Положить его в папку (в моём случае) /usr/lib/rabbitmq/lib/rabbitmq_server-3.8.9/plugins
  3. Включить плагин

Использование:

Пример постановки в очередь:

Пример слушателя:

1С: Узнать позицию в цикле

Задача: узнать текущую позицию для цикла вида

Решение: учить матчасть (с)

JavaScript: создаем и позволяем скачать csv файл

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

Решение: Для создания файла воспользуемся функцией Blob, которая позволяет оперировать с бинарными данными. Далее создадим в DOM элемент <a>, поместим в href бинарные данные и сэмулируем нажатие на ссылку. Примерно так:

1С: Скачать файл через http сервис

Задача: в веб интерфейс сайта вывести кнопку получения файла со стороны 1С

Решение:

На стороне 1с оформим сервис по примеру:

На стороне сайта, можно оформить в виде: