Skip to content

Getting Started

frosxt edited this page Jan 20, 2026 · 1 revision

Getting Started

Installation

Chronos is available via JitPack.

Gradle (Groovy)

repositories {
    mavenCentral()
    maven { url 'https://jitpack.io' }
}

dependencies {
    implementation 'com.github.frosxt:Chronos:v1.0.0'
}

Maven

<repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

<dependency>
    <groupId>com.github.frosxt</groupId>
    <artifactId>Chronos</artifactId>
    <version>v1.0.0</version>
</dependency>

Basic Usage

1. Create a Scheduler

Use SchedulerSpec to configure your scheduler instance:

import com.github.frosxt.chronos.api.spec.SchedulerSpec;
import com.github.frosxt.chronos.factory.Chronos;
import com.github.frosxt.chronos.api.Scheduler;

Scheduler scheduler = Chronos.create(SchedulerSpec.builder()
    .threadCount(4)
    .threadNamePrefix("my-app-scheduler-")
    .build());

2. Schedule Tasks

One-Shot:

scheduler.scheduleOnce(Duration.ofSeconds(30), () -> {
    System.out.println("Delayed task executed!");
});

Fixed Rate:

// Run every minute, starting immediately
scheduler.scheduleAtFixedRate(Duration.ZERO, Duration.ofMinutes(1), () -> {
    System.out.println("Heartbeat...");
});

Cron:

// Run at 09:00 AM every day
scheduler.scheduleCron(
    CronExpression.parse("0 9 * * *"),
    ZoneId.systemDefault(),
    () -> generateDailyReport()
);

3. Shutdown

When stopping your application, shut down the scheduler to release resources:

scheduler.close();

Clone this wiki locally