package com.writeoff.module.scheduler.repository;

import com.writeoff.module.scheduler.model.AsyncJob;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Optional;

public interface AsyncJobRepository {
    AsyncJob save(AsyncJob job);

    Optional<AsyncJob> findById(Long id);

    Optional<AsyncJob> findByIdempotencyKey(String idempotencyKey);

    List<AsyncJob> findReady(LocalDateTime now, int limit);
}
