You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The past week or so around 7am UTC the firehose client in my server has been getting 503 Service Unavailable errors, once those errors stopped coming in the client would stop receiving messages silently after some time. It's frustrating I don't wake up till 5 hours later before I could restart my server and having to wait about an hour or two for my feeds to catch up.
After spending a couple days investigating, I pinned it down to the lack of a timeout value in line 183 (line 257 for async) in atproto_firehose/client.py. Adding in a timeout value (I used 300 seconds/5 minutes) into client.recv() prevented the data stream from stalling forever, it proved effective after last night's 503 Server Unavailable error spam as I didn't have to restart the server manually.
With Bluesky users now making new posts at every single second of the day, I believe adding some timeout value (default or configurable) is necessary to stop feed servers from going out of date without warning. I'm willing to make a PR to address this but not sure what would be the right default timeout value for most use cases or whether or not it should be configurable as a parameter.
The text was updated successfully, but these errors were encountered:
The past week or so around 7am UTC the firehose client in my server has been getting 503 Service Unavailable errors, once those errors stopped coming in the client would stop receiving messages silently after some time. It's frustrating I don't wake up till 5 hours later before I could restart my server and having to wait about an hour or two for my feeds to catch up.
After spending a couple days investigating, I pinned it down to the lack of a timeout value in line 183 (line 257 for async) in
atproto_firehose/client.py
. Adding in a timeout value (I used 300 seconds/5 minutes) intoclient.recv()
prevented the data stream from stalling forever, it proved effective after last night's 503 Server Unavailable error spam as I didn't have to restart the server manually.With Bluesky users now making new posts at every single second of the day, I believe adding some timeout value (default or configurable) is necessary to stop feed servers from going out of date without warning. I'm willing to make a PR to address this but not sure what would be the right default timeout value for most use cases or whether or not it should be configurable as a parameter.
The text was updated successfully, but these errors were encountered: