-
Notifications
You must be signed in to change notification settings - Fork 169
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split up webhooks reponse from backend work #1769
Comments
related: #1468 |
We should leverage our queue service for this. |
Update 12/1/2021
ProposalWe modify the process of webhook as below. ModifiedQueueService /queue/message?type=webhookThis end point receives webhook config from API and queues webhook config to redis queue. API /v4/webhooksCurrently, this endpoints return response after the build is created. If user's cluster not using QueueService, it should keep old behavior. QueueService workerQueueService worker should polling webhook config. scm-XXXparseHook method should return additional info for getChangedFiles. New EndpointsIf you have any other good endpoint names, please comment on them. API /v4/processHooksIn this endpoint, API process webhook.
|
Why do we need API |
When processing webhook, it needs to access to DB. Currently, QS has no config to connect DB and I think it is good to summarize process which needs DB access in API. |
Does anyone know an easy way to get a token for sending a webhook to queueService? The situation is that the build does not exists. |
What happened: When users have PRs with a lot of file changes or a large number of open PRs, this can cause timeout issues when Github sends webhooks to Screwdriver as it waits for Screwdriver to respond. Github has a 10 second timeout set on their webhooks.
What you expected to happen: Users with large PRs should be able to see a new Screwdriver build without any webhook failures.
References:
How to reproduce it: Open a PR with >2500 file changes. Check the Github webhooks.
The text was updated successfully, but these errors were encountered: