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!"); } }