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: