Java Setup

Get started with Schedo in your Java application in minutes.

Installation

Add the Schedo Java client to your project:

Maven:

xml
1
2    io.schedo
3    schedo-java
4    1.0.0
5

Gradle:

groovy
1implementation 'io.schedo:schedo-java:1.0.0'

Basic Usage

Import and initialize the Schedo client with your API key:

java
1import io.schedo.Schedo;
2
3public class SchedulerService {
4    private final Schedo schedo;
5    
6    public SchedulerService() {
7        this.schedo = Schedo.builder()
8            .apiKey(class="text-amber-300">"YOUR_API_KEY")
9            .build();
10    }
11}

Scheduling Jobs

Schedule your first job with a cron expression:

java
1class=class="text-amber-300">"text-gray-500">// Schedule a job to run every day at 2 AM
2Job cleanupJob = Job.builder()
3    .name(class="text-amber-300">"daily-cleanup")
4    .schedule(class="text-amber-300">"0 2 * * *")
5    .handler(() -> {
6        class=class="text-amber-300">"text-gray-500">// Your job logic here
7        cleanupOldRecords();
8        return null;
9    })
10    .build();
11
12class=class="text-amber-300">"text-gray-500">// Schedule a job to run every 5 minutes
13Job metricsJob = Job.builder()
14    .name(class="text-amber-300">"check-metrics")
15    .schedule(class="text-amber-300">"*/5 * * * *")
16    .handler(() -> {
17        checkSystemMetrics();
18        return null;
19    })
20    .build();
21
22class=class="text-amber-300">"text-gray-500">// Register the jobs
23schedo.registerJob(cleanupJob);
24schedo.registerJob(metricsJob);

Error Handling

Handle job failures and retries:

java
1Job ordersJob = Job.builder()
2    .name(class="text-amber-300">"process-orders")
3    .schedule(class="text-amber-300">"0 */2 * * *")
4    .maxRetries(3)
5    .handler(ctx -> {
6        try {
7            processOrders();
8        } catch (Exception e) {
9            ctx.getLogger().error(class="text-amber-300">"Failed to process orders: " + e.getMessage());
10            throw e; class=class="text-amber-300">"text-gray-500">// Schedo will handle retries
11        }
12        return null;
13    })
14    .build();

Documentation

For more detailed information and advanced features, please refer to our documentation: