KX Community

Find answers, ask questions, and connect with our KX Community around the world.
KX Community Guidelines

Home Forums kdb+ How to re-subscription automatically in kdb-tick?

  • How to re-subscription automatically in kdb-tick?

    Posted by k-mambo on February 2, 2023 at 12:00 am

    I understand that kdb-tick should be run in order from ticker.

    However, if ticker is terminated for some reason, rdb does not subscribe to the re-run ticker.

    Need a way to re-subscribe or a reference for implementation.

    k-mambo replied 8 months, 2 weeks ago 3 Members · 2 Replies
  • 2 Replies
  • james-massey

    Member
    February 2, 2023 at 12:00 am

    Hi, TorQ provides re-subscribe logic in subscriptions.q provided below.

    .sub.subscribe calls a function .sub.autoreconnect which tries to reconnect to any previously subscribed tables/instruments. Initially two variables are checked .sub.AUTORECONNECT which is set to 1b in the script and if .sub.reconnectinit.

    TorQ/subscriptions.q at master AquaQAnalytics/TorQ (github.com)

  • gyorokpeter-kx

    Member
    February 3, 2023 at 12:00 am

    It can be done using the built-in handlers .z.pc  (connection close) and .z.ts (timer). When the connection closes, you could set up a periodic timer that tries to reopen the connection.

    Because doing this at the low level is cumbersome and is kind of reinventing the wheel, there are open source implementations that allow setting timers and auto-reconnecting connections, such as this one:

    kdb/q/conn at main finos/kdb (github.com)

    This allows you to set up a connection that is automatically reopened using a timer. You could put the subscription code in the connect callback.

Log in to reply.