2

Akka Scheduler は優れていますが、持続性に欠けています。

永続性を備えたジョブスケジューリングの良い解決策はありますか? できればRedis。

4

6 に答える 6

0

I would recommend you to try Redisson. It allows to usual java.lang.Runnable and java.util.concurrent.Callable interfaces. Here is code example:

RScheduledExecutorService executorService = redisson.getExecutorService("myExecutor");
ScheduledFuture<?> future = executorService.schedule(new CallableTask(), 10, 20, TimeUnit.MINUTES);

future.get();
// or cancel it
future.cancel(true);

Examples with cron expressions:

executorService.schedule(new RunnableTask(), CronSchedule.of("10 0/5 * * * ?"));

executorService.schedule(new RunnableTask(), CronSchedule.dailyAtHourAndMinute(10, 5));

executorService.schedule(new RunnableTask(), CronSchedule.weeklyOnDayAndHourAndMinute(12, 4, Calendar.MONDAY, Calendar.FRIDAY));
于 2016-11-28T11:30:32.763 に答える
0

あなたの質問が Redis に関するものだったことは知っていますが、 Akka-Scheduling for Akkaに出くわしたばかりで、役に立つと思います。

Akka のスケジューラーを永続的に使用できます。

于 2015-09-14T08:27:38.543 に答える
0

以下は、バックエンドとして Redis を使用して分散タスク スケジューリングを処理するために最近作成した小さな Java ライブラリです: https://github.com/davidmarquis/redis-scheduler

とてもシンプルですが、すぐに始められるはずです。ジョブ データ自体は保持されませんが、適切なタイミングでジョブがトリガーされます。また、アプリケーションのインスタンスが複数ある場合、ジョブは単一のインスタンスで実行されます。

于 2013-12-22T15:36:27.623 に答える
0

Java Quartz はスケジューリングに適したオプションであり、永続化に使用できる Jobstore API があります。これはhttp://www.ibm.com/developerworks/java/library/j-quartz/

于 2013-08-21T07:18:20.113 に答える
0

しばらくの間、Quartzを Java でうまく使用してきましたが、最近、 redis バックエンドを追加しました。

免責事項:私は redis-quartz の設計に携わっていました。現在、redis-quartzはまだベータ版です。

于 2014-02-11T10:12:40.743 に答える