Navigation

    SmartAPI Forum
    • Register
    • Login
    • Search
    • Categories
    • Popular
    • Groups
    • FAQs
    • API Docs

    HeartBeats Failed

    General Discussion
    5
    40
    291
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      Surya 1 @punit last edited by

      @dheepi

      I run a cron job to start my algo because I live in a different time zone. Program started at 9:15 and ran fine till 10:33 then it gave heartbeats failed message.

      Then I tried manually to run and its started appearing randomly after some time.

      punit 1 Reply Last reply Reply Quote 0
      • punit
        punit @Surya 1 last edited by

        @rajanprabu Very similar to what happened to me today.

        -> Login (Generate session) @ 7AM - OK
        -> When the cron started Websocket at 9.15 AM, the token got expired
        -> Then I generated new token at 11:12 and started websocket streaming again - OK
        -> But the streaming ended at 14:09 got stopped - I did not check the heartbeat, but probably that is the reason

        Looks like the token i getting expired after sometime. say 2.5 hrs by estimate.

        I raised this with @Bhaveshsjain @admin today morning . lets wait for the analysis.

        PS: All my jobs are scheduled in a scheduler

        A 1 Reply Last reply Reply Quote 0
        • A
          admin @punit last edited by

          Hi @Ashok @rajanprabu , we are reviewing this.

          A 1 Reply Last reply Reply Quote 0
          • A
            admin @admin last edited by

            @rajanprabu @Ashok We have connected the websocket today morning and till now it's working fine. If we get a disconnection before 3.30, will identify and resolve the issue.

            S 1 Reply Last reply Reply Quote 0
            • S
              Surya 1 @admin last edited by

              @admin

              I have tested today and I had the same error. Please find the test script below. Im using threaded=True

              from smartapi import WebSocket 
              import json
              import datetime
              import time
              
              with open('AB/ab_user.json') as f:
                  data = json.load(f)
              client_code = data['client_code']
              
              with open('AB/ab_tokens.json') as f:
                  data = json.load(f)
              feed_token = str(data['feedToken'])
              
              token = "nse_cm|3456&nse_cm|7229&nse_cm|1594&nse_cm|3787&nse_cm|1330&nse_cm|10999&nse_cm|4717&nse_cm|13538&nse_cm|694&nse_cm|2031&nse_cm|2475&nse_cm|1394&nse_cm|11536&nse_cm|20374&nse_cm|1333&nse_cm|881&nse_cm|467&nse_cm|1348&nse_cm|10604&nse_cm|547&nse_cm|3506&nse_cm|4963&nse_cm|1660&nse_cm|17963&nse_cm|910&nse_cm|11532&nse_cm|526&nse_cm|3351&nse_cm|236&nse_cm|14977&nse_cm|21808&nse_cm|1232&nse_cm|1624&nse_cm|11723&nse_cm|5900&nse_cm|10940&nse_cm|3045&nse_cm|11287&nse_cm|11630&nse_cm|5258&nse_cm|11483&nse_cm|1922&nse_cm|3103&nse_cm|1363&nse_cm|2885&nse_cm|16675&nse_cm|317&nse_cm|15083&nse_cm|3499"
              
              ss = WebSocket(feed_token, client_code)
              
              def on_tick(ws, tick):
                  print("Ticks: {}".format(tick))
                 
              def on_connect(ws, response):
                  ws.send_request(token)
              
              def on_close(ws, code, reason):
                  ws.stop()
              
              # Assign the callbacks.
              ss.on_ticks = on_tick
              ss.on_connect = on_connect
              ss.on_close = on_close
              
              ss.connect(threaded=True)
              
              while True:
                  pass
              
              1 Reply Last reply Reply Quote 0
              • S
                Surya 1 last edited by

                @Ashok was it running ok for you today ?? No HeartBeats Failed message ?

                punit 1 Reply Last reply Reply Quote 0
                • punit
                  punit @Surya 1 last edited by punit

                  @rajanprabu my websocket worked just fine today no failures. I was seeing tick data till 15.30.
                  But I forgot to log the heartbeat message to see if there are any failures.
                  PS: I am not using threaded ticker

                  S 1 Reply Last reply Reply Quote 0
                  • S
                    Surya 1 @punit last edited by

                    @Ashok Im also wondering if that is the root cause of the problem. But in my code I have a streamer class which emits the ticks. This I run in one thread and other things that I do in parallel using threads. This functionality is crucial.

                    I hope @admin and team had a look at it.

                    A 1 Reply Last reply Reply Quote 0
                    • A
                      admin @Surya 1 last edited by

                      Hi @rajanprabu , Hope your issue is resolved. If not, please share your contact details on api@angelbroking.com

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        Surya 1 @admin last edited by Surya 1

                        @admin

                        I have tested without running them on threads separate threads. It went well today.

                        all my troubles appear when I use

                        ss.connect(threaded=True)
                        

                        I also think this is the limitation on in unix based systems. I have modified the websocket.py to have reactor.run(installSignalHandlers=False) even one doesnt use the threaded=True.

                        In case if this helps anyone.

                        1 Reply Last reply Reply Quote 0
                        • G
                          gkmeena @Surya 1 last edited by

                          @rajanprabu hi i want data like this can you give me code?

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            Surya 1 @gkmeena last edited by

                            @gkmeena

                            Which code ?

                            G 1 Reply Last reply Reply Quote 0
                            • G
                              gkmeena @Surya 1 last edited by

                              @rajanprabu
                              ![alt text](Screenshot (45).png code for this kind of output)

                              R 1 Reply Last reply Reply Quote 0
                              • R
                                rahul4019 @gkmeena last edited by

                                @rajanprabu @admin
                                I am getting the heartbeat failed message.
                                I am wondering how do you re-establish the connection?
                                Also even after the program has ended the heartbeat failed message keeps popping up.

                                A S 2 Replies Last reply Reply Quote 0
                                • A
                                  admin @rahul4019 last edited by

                                  Hi @PandaTrade we will soon our web socket code we will keep you updated on this.

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    Surya 1 @rahul4019 last edited by

                                    @PandaTrade said in HeartBeats Failed:

                                    Also even after the program has ended the heartbeat failed message keeps popping up.

                                    Thats mainly because Heartbeart connection is running in separate thread. I have a parallel script running to check if there is any HB failure message. Once it find it will stop and restart the script. Of course this can be a issue if you use indicators using past data.

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      rahul4019 last edited by

                                      hi @admin
                                      have you fixed your Tickdata web socket code?
                                      To me it looks like working. Just want to confirm what are the fixes that you have done?

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        Surya 1 @rahul4019 last edited by

                                        @PandaTrade

                                        They released a new SDK.. But yet to try it.. will try in the evening with MCX data.

                                        R 1 Reply Last reply Reply Quote 0
                                        • R
                                          rahul4019 @Surya 1 last edited by

                                          @rajanprabu btw how do you update your sdk that you had downloaded already..
                                          Could you point me to it.

                                          R S 2 Replies Last reply Reply Quote 0
                                          • R
                                            rahul4019 @rahul4019 last edited by

                                            @PandaTrade pip install websocket-client
                                            i guess this should do it

                                            A 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post