Interface IgniteScheduler


  • public interface IgniteScheduler
    Provides functionality for scheduling jobs locally using UNIX cron-based syntax. Instance of GridScheduler is obtained from grid as follows:
     IgniteScheduler s = Ignition.ignite().scheduler();
     

    Scheduler supports standard UNIX cron format with optional prefix of {n1, n2}, where n1 is delay of scheduling in seconds and n2 is the number of execution. Both parameters are optional. Here's an example of scheduling a closure that broadcasts a message to all nodes five times, once every minute, with initial delay of two seconds:

     SchedulerFuture<?> s = Ignition.ignite().scheduler().scheduleLocal(
         new Callable<Object>() {
             @Override public Object call() throws IgniteCheckedException {
                 g.broadcast(new IgniteCallable() {...}).get();
             }
         },
         "{2, 5} * * * * *" // 2 seconds delay with 5 executions only.
     );
     
    • Method Detail

      • runLocal

        Closeable runLocal​(@NotNull
                           @NotNull Runnable r,
                           long delay,
                           TimeUnit timeUnit)
        Executes given closure after the delay.

        Note that class IgniteRunnable implements Runnable

        Parameters:
        r - Not null runnable to execute.
        delay - Initial delay.
        timeUnit - Time granularity.
        Returns:
        java.io.Closeable which can be used to cancel execution.
      • scheduleLocal

        SchedulerFuture<?> scheduleLocal​(@NotNull
                                         @NotNull Runnable job,
                                         String ptrn)
        Schedules job for execution using local cron-based scheduling.
        Parameters:
        job - Not null job to schedule to run as a background cron-based job.
        ptrn - Scheduling pattern in UNIX cron format with optional prefix {n1, n2} where n1 is delay of scheduling in seconds and n2 is the number of execution. Both parameters are optional.
        Returns:
        Scheduled execution future.
      • scheduleLocal

        <R> SchedulerFuture<R> scheduleLocal​(@NotNull
                                             @NotNull Callable<R> job,
                                             String ptrn)
        Schedules job for execution using local cron-based scheduling.
        Type Parameters:
        R - Type of the job result.
        Parameters:
        job - Not null job to schedule to run as a background cron-based job.
        ptrn - Scheduling pattern in UNIX cron format with optional prefix {n1, n2} where n1 is delay of scheduling in seconds and n2 is the number of execution. Both parameters are optional.
        Returns:
        Scheduled execution future.