Shane da Silva 1320371c70 feat(shuttle): Allow changing subscriber batch size or flush interval (#2147)
## Why is this change needed?

The way we were writing events to the stream was resulting in a lot more
separate requests to Redis since we weren't actually batching them
together.

Change this so we leverage the multi-argument version of `XADD` so that
throughput can be increased at higher volumes. Accompanying this are the
introduction of a few more configuration options that allow us to tweak
the throughput of the `HubSubscriber`.

While here, do a minor version bump since we're slightly changing how
events are written to the stream.

## Merge Checklist

- [x] PR title adheres to the [conventional
commits](https://www.conventionalcommits.org/en/v1.0.0/) standard
- [x] PR has a
[changeset](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#35-adding-changesets)
- [x] PR has been tagged with a change label(s) (i.e. documentation,
feature, bugfix, or chore)
- [x] PR includes
[documentation](https://github.com/farcasterxyz/hub-monorepo/blob/main/CONTRIBUTING.md#32-writing-docs)
if necessary.

<!-- start pr-codex -->

---

## PR-Codex overview
This PR updates the `@farcaster/shuttle` package to version 0.5.0,
introducing customization for event batch size and time between flushes.

### Detailed summary
- Updated package version to 0.5.0
- Added customization for event batch size and time between flushes
- Modified event handling logic in `EventStreamHubSubscriber`

>  Ask PR-Codex anything about this PR by commenting with `/codex {your
question}`

<!-- end pr-codex -->
2024-07-10 07:34:38 +00:00
2024-07-09 19:17:57 -05:00
2022-03-16 17:46:07 -07:00
2024-07-09 19:17:57 -05:00
2024-06-13 11:35:28 -07:00
2022-12-08 14:02:11 -08:00
2023-09-23 10:23:23 -05:00

Hubble Monorepo

This monorepo contains Hubble, an official Farcaster Hub implementation, and other packages used to communicate with Hubble.

Getting Started

  1. To run Hubble, see the Hubble docs.
  2. To use Hubble, see the hub-nodejs docs.
  3. To use the HTTP API to read Hubble data, see the HTTP API docs

Packages

Package Name Description
@farcaster/hubble A Farcaster Hub implementation
@farcaster/hub-nodejs A Node.js client library for Hubble
@farcaster/hub-web A Browser client library for Hubble
@farcaster/core Shared code between all packages

Contributing

Please see CONTRIBUTING.md

Description
No description provided
Readme MIT 53 MiB
Languages
TypeScript 91.7%
Rust 8.1%
Go 0.1%