High-performance, distributed notification scheduling system for time-sensitive alerts, promotional campaigns, and workflow automation.
Intervals is a robust application designed to schedule and trigger notifications at specified times in the future with exceptional performance and reliability.
Minimal latency delivery with optimized processing for time-critical notifications.
Handles large volumes of concurrent notifications with ease.
Horizontal scaling from small workloads to enterprise-level deployments.
Built on Kafka + MongoDB with distributed locking for fault tolerance.
ISO 8601 support - single and periodic scheduling options.
Perfect for reminders, alerts, promotional campaigns, and workflow automation.
Simple flow: Send → Wait → Receive
Intervals continuously monitor the current time and deliver your message when scheduled
Get started in minutes with just a few lines of code
val producer = KafkaProducer<String, ByteArray>(properties) val record = ProducerRecord<String, ByteArray>( "assignments.<your-tenant>", payload ) record.headers().add("intervals-schedule", "2026-07-21T19:20:30.45Z") producer.send(record)
consumer.subscribe("executions.t30600") // When the scheduled time arrives, // the message will be delivered here // with all original headers preserved
from kafka import KafkaProducer import json producer = KafkaProducer(bootstrap_servers='localhost:9092') topic = "assignments.<your-tenant>" payload = json.dumps({"message": "Hello"}).encode('utf-8') producer.send( topic, value=payload, headers=[ ("intervals-schedule", "2026-07-21T19:20:30.45Z".encode()), ("intervals-tenant-id", "your-tenant".encode()) ] ) producer.flush()
from kafka import KafkaConsumer consumer = KafkaConsumer( 'executions.t30600', bootstrap_servers='localhost:9092', auto_offset_reset='earliest' ) for message in consumer: # When the scheduled time arrives, # the message will be delivered here # with all original headers preserved print(message.value)
const { Kafka } = require('kafkajs'); const kafka = new Kafka({ clientId: 'my-app', brokers: ['localhost:9092'] }); const producer = kafka.producer(); await producer.connect(); await producer.send({ topic: "assignments.<your-tenant>", messages: [ { value: JSON.stringify({ message: "Hello" }), headers: { "intervals-schedule": "2026-07-21T19:20:30.45Z" } } ] });
const consumer = kafka.consumer({ groupId: 'test-group' }); await consumer.connect(); await consumer.subscribe({ topic: 'executions.t30600' }); await consumer.run({ eachMessage: async ({ topic, partition, message }) => { // When the scheduled time arrives, // the message will be delivered here // with all original headers preserved console.log(message.value.toString()); }, });
Intervals uses ISO 8601 based scheduling for maximum flexibility
Execute once at the specified time.
2026-07-16T19:20:30.45Z
Execute every interval from start to end date.
R/2026-07-16T19:20:30.45Z/PT7H/2026-07-17T20:20:30.45Z
Get in touch with us
Email us at:
intervals.application@gmail.com