32 lines
848 B
Markdown
32 lines
848 B
Markdown
# hyper-p2p-cron-gossip
|
|
|
|
Distributed **cron scheduling** with local `tick()` and remote `cron-fire` gossip.
|
|
|
|
**Category:** Scheduling & queues · **Protocol:** `cron-gossip/v1`
|
|
|
|
## When to use
|
|
|
|
Cluster-wide periodic tasks, `@every` intervals, or classic five-field UTC cron strings shared on a topic.
|
|
|
|
## When not to use
|
|
|
|
Sub-second precision timers, single-process `setInterval` only, or durable job queues (use deadline/activity queues).
|
|
|
|
## Quick start
|
|
|
|
```js
|
|
const { HyperP2PCronGossip } = require('hyper-p2p-cron-gossip')
|
|
const cron = new HyperP2PCronGossip({ topic: process.argv[2] })
|
|
await cron.ready()
|
|
cron.schedule('@every 5s', 'heartbeat')
|
|
setInterval(() => cron.tick(), 1000)
|
|
```
|
|
|
|
## Docs
|
|
|
|
[docs/api.md](docs/api.md) · [docs/architecture.md](docs/architecture.md)
|
|
|
|
## Test
|
|
|
|
`npm install && npm test` · `bare examples/basic.js [topic]`
|