Open ashwinv11 opened 2 years ago
Hello @ashwinv11 thanks for letting use know.
Thanks :)
Hello! I have the same problem, we are using asynchronous microservices where we are tracking events with Sift sdk with python language, I am controlling the problem with a retry when it fails but the error rate is very high. It looks like the sift sdk is not 'ready' and keeps crashing when still being used... the error trace is coming from the sift sdk connection layer
Thanks @StevenLudwig we are investigating this issue.
Hi @vincent-sift just reached out to support with some additional information. Thanks!
Thanks @ashwinv11. I am following up with the engineering team as well.
Hi there, is there any update on this one? 🙏🏾 Are there any recommendations on how to handle this until it's fixed? Should we be retrying API calls if we get this error?
@ashwinv11 we are working on getting this work scheduled. Our current suggestion is to retry these requests when you get these exceptions. Thanks for your patience.
Hey @vincent-sift any update on this?
@ashwinv11 a few questions:
session
object manually, or use the Sift's default one? If you create Session by your own please provide a code snippet or parameters. Also, do you use own timeout
or rely on the Sift's default one (2 sec)?requests
lib?Thanks!
Hey @viaskal-sift sure!
Python version – 3.9.16
Requests lib version – 2.25.1
Here's an example of how we have it setup. Looks like we set a longer timeout than the default, and don't build the session
object manually. We don't use any proxy when calling Sift.
import sift
client = sift.Client(SIFT_SCIENCE_API_KEY, timeout=3)
def send_to_sift(data):
try:
response = client.track('$create_order', data, return_workflow_status=True)
if response and not response.is_ok():
logger.error('...')
except Exception:
logger.exception('..')
return None
return response
Hope this helps!
@ashwinv11 Could you pls try to add some pre-configuration before creating a Sift Client using the code snipped below? Basically, it will configure the Session object particularly and only for the Sift Client, and only requests to the Sift API will be affected by that.
session = requests.Session()
adapter = HTTPAdapter(max_retries=3, pool_connections=5, pool_maxsize=5)
session.mount("https://", adapter)
session.timeout = timeout.Timeout(total=10, connect=10, read=10)
client = sift.Client(api_key=API_KEY, session=session)
@ashwinv11 did you have a chance to try this one? Thanks!
@ashwinv11 did you have a chance to try this one? Thanks!
Hi Viaskal, we're hoping to tackle this guy soon.
@stephenflynn any updates from your side?
@ashwinv11 did you have a chance to try this one? Thanks!
Hi Viaskal, we're hoping to tackle this guy soon.
Hi @stephenflynn wanted to check if @viaskal-sift 's recommendation was able to resolve the issue? Thank you!
Hello there!
We're seeing some 104 Connection Reset errors from the v205 Events POST endpoint. We're using version 5.0.1 of the SDK. It looks like this is an issue with the underlying calls to requests. Is this a known issue? What's the best way to handle these exceptions?
Thanks!