hasura / hasura/graphql-engine
Configure Event Polling Interval
- Dominant language
- TypeScript
- Stars
- 32.1k
- Forks
- 3k
- PR merge metrics
- PR metrics pending
Description
### Is your proposal related to a problem?
For context, we're using Hasura Cloud with a Vercel Postgres instance. As I understand it Hasura's eventing system uses a [poller](https://hasura.io/docs/latest/event-triggers/observability-and-performance/#event-delivery-system). That means it needs to be continuously connected to the database. That isn't ideal in a serverless environment, where the pricing is based on very granular compute time. In our case, we only use eventing for a scheduled process which uses a fan-out architecture. It doesn't really matter if events run hours after the actual operation in our case. It's a small side project, which is starting to cost more than some of our small production applications because of this combination we're testing out.
### Describe the solution you'd like
I would like to be able to configure the polling interval. In our case, maybe every hour. I would also like to be able to better understand and configure how many events would be processed at a time when the poller runs.
### Describe alternatives you've considered
Using a different database provider. That would be fair, but this setup is quite nice if we can make it work.
We could also just run a cron ourselves or using a different queueing mechanism, but then we would lose some of Hasura's benefits.
Contributor guide
Research direction
Start with the event delivery system documentation linked in the issue, then locate the event poller and its current event-processing limits. The work is done when the polling interval and the number of events processed per poll can be configured for this use case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- graphql, postgres
- Domain
- backend, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100