Детали подписки подписчиков - PullRequest
0 голосов
/ 14 марта 2019

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

Мне известно о функции .z.ts и о том, что правильная функция должна иметь \ t 60000 перед кодом.

Существует ли простой способ публикации сведений о подписке подписчиков каждую минуту?

Ответы [ 2 ]

3 голосов
/ 14 марта 2019

Если ваш тикерплан работает в не пакетном режиме (то есть вы не указываете таймер в командной строке при запуске), тогда все, что вам нужно сделать, это изменить функцию .z.ts - обычно это .z.ts:{ts .z.D} - также публиковать таблицу хранимых данных о подписчиках, отправляя записи в реальном времени или записывая их в файл. Эта таблица заполняется с использованием .z.po (пользователь подключен) или .u.sub (пользовательская подписка) и изменяется при отключении пользователя (.z.pc). Идеи о том, как собирать информацию о пользователях, можно найти здесь: https://code.kx.com/q/cookbook/using-dotz/#trackclientsq

Если вы хотите, чтобы он был опубликован в нисходящем, а не записанном в файл файле, вам нужно настроить эту таблицу как дополнительную таблицу с возможностью подписки в .u.w, чтобы управлять тем, кто подписывается на эту новую таблицу.

Если вы используете код ванильного тикерплана из Kx в качестве базы для вашего тикерплана, то по умолчанию в не пакетном режиме таймер устанавливается на 1 секунду, но вы можете изменить его на 1 минуту, однако это будет означать, что ваш запуск в конце дня может быть на минуту позже. Это может не иметь большого значения.

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

1 голос
/ 15 марта 2019

Вы можете рассмотреть возможность выбора другого подхода.Изменения в деталях подписки по сути являются изменениями состояния, которые инициируются конкретными событиями - вызовами sub или add, отключениями, и, возможно, у вас есть некоторые определяемые пользователем события, такие как unsub.

Вы можете изменить или обернуть эти функции исобытия с логикой, которая записывает изменения состояния в это время.

...