Skip to content
This repository was archived by the owner on Jun 28, 2025. It is now read-only.

SrBalbucio/ResponsiveScheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ResponsiveScheduler

Agende tarefas em Java de forma rápida e segura.
Schedule tasks in Java quickly and securely.

Primeiros passos

Adicione o ResponsiveScheduler ao seu projeto e crie uma instância como feito abaixo:

ResponsiveScheduler scheduler = new ResponsiveScheduler();

Se desejar receber e manipular os eventos do scheduler crie uma classe Listener e adicione ao EventManager:

ClasseListener listener = new ClasseListener();
scheduler.getEventManager().registerListener(listener);

Após isso você está pronto para criar tarefas.

Crie tarefas

Para criar uma tarefa utilizamos o RSTask, que é uma implementação do Runnable para ResponsiveScheduler.

// Esta classe extende a RSTask
TaskTest test = new TaskTest();

// CLASSE TaskTest

public class TaskTest extends RSTask {
    @Override
    public void run() {
        System.out.println("Estou rodando!");
    }
}

Dentro de uma classe RSTask você pode usar o método setProblem(true) para dizer ao ResponsiveScheduler que algo deu erro na tarefa.

Rode as tarefas

Há várias formas de rodar uma tarefa, você repetir ela várias vezes, executar após um tempo ou apenas executar de forma async.
Apesar dos nomes todas as tarefas rodam fora de thread principal, ou seja, async

Rodar uma tarefa no pool de threads (a task entrará numa fila de execuções):

// adicione a task
scheduler.runTask(test); // isso executará a task
ResponsiveScheduler.run(Runnable: runnable); // executa uma task runnable

Rodar uma tarefa numa thread dedicada:

// adicione a task
scheduler.runAsyncTask(test); // isso executará a task

Rodar uma tarefa após um tempo:

// adiciona a tarefa e o tempo em millisegundos
scheduler.runTaskAfter(test, 2000); // isso executará a task após 2 segundos

Rodar uma tarefa de tempos em tempos:

// adiciona a tarefa e o tempo/delay em millisegundos
scheduler.repeatTask(test, 0, 2000); // executa a task sem delay (0) a cada 2 segundos

Cancele tarefas

Para cancelar tarefas é muito simples, use o método cancelTask(task); para cancelar uma tarefa especifica ou use cancelAllTasks(); para cancelar todas.

Finalizar

Para finalizar o ResponsiveScheduler é necessário usar a função shutdown();, essa função irá finalizar todas as tarefas e liberar todas as threads usadas. Obs.: Serão emitidos eventos de cancelamento quando as tarefas forem finalizadas pelo shutdown.

About

Responsive Java Task Scheduler

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages