HeartBeats Failed
-
@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 reasonLooks 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
-
Hi @Ashok @rajanprabu , we are reviewing this.
-
@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.
-
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
-
@Ashok was it running ok for you today ?? No HeartBeats Failed message ?
-
@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 -
-
Hi @rajanprabu , Hope your issue is resolved. If not, please share your contact details on api@angelbroking.com
-
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.
-
@rajanprabu hi i want data like this can you give me code?
-
Which code ?
-
@rajanprabu

-
@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. -
Hi @PandaTrade we will soon our web socket code we will keep you updated on this.
-
@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.
-
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? -
They released a new SDK.. But yet to try it.. will try in the evening with MCX data.
-
@rajanprabu btw how do you update your sdk that you had downloaded already..
Could you point me to it. -
@PandaTrade pip install websocket-client
i guess this should do it -
HI @PandaTrade uninstall and install again.