Palermo - 作业处理系统


EPL
跨平台

软件简介

Palermo 是一个基于 JVM 的作业处理系统,其灵感来自于
Resque,后端基于
RabbitMQ。 整个系统采用
Clojure 语言开发。

主要特性:

  • 定义作业 Defining jobs

  • 定义作业队列 Defining job queues

  • 定义 workers

  • 作业的序列化和反序列化

  • 队列管理

Palermo 同时包含一个基于 Web 的前端管理系统,可作为独立的 Jetty 应用来运行。

作业任务:

package palermotests;

import palermo.job.PalermoJob;

public class SleepyJob implements PalermoJob {

    public SleepyJob(){}

    @Override
    public void process(Object arguments) throws Exception {
        int timeout = (Integer) arguments;
        System.out.println("SLEEPING...");
        try {
            Thread.sleep(timeout);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("BACK!");
    }

}