authgear-server
authgear-server copied to clipboard
Non-blocking webhooks should not wait for any response from the endpoint
Problem
By nature non-blocking webhooks are NON-blocking. That is, the response from the webhook endpoint should not affect the process. In our current implementation, the process will wait for a response before proceeding, although the response content does not matter. If the non-blocking webhook endpoint timeout, the process will hang for a very long time.
Step to reproduce
- Put in a endpoint in non-blocking event that with 30s delay in response
- Execute a user profile mutation in GraphQL
- Sees the GraphQL request takes more than 30s to finish
- Remove the non-blocking event endpoint. Retest and see the request completed in much shorter time.