gpt4 book ai didi

java - 杰斯克(Resque): Get all open delayed jobs in redis db

转载 作者:可可西里 更新时间:2023-11-01 11:38:31 26 4
gpt4 key购买 nike

Jesque是我想使用的好工具。

Jesque is an implementation of Resque in Java. It is fully-interoperable with the Ruby and Node.js (Coffee-Resque) implementations.

Jesque is a Maven project and depends on Jedis to connect to Redis, Jackson to map to/from JSON and SLF4J for logging.

但在此之前,我需要更多信息。是否也可以在 Jesque 中检索所有空缺职位?此信息可能对我的监控和脏重启很有用。在异常关闭之后,如果任何其他应用程序已经完成了相同的作业或也在队列中,则检查所有剩余的作业与其他分布式应用程序可能很有用。这可能吗?我想避免这项工作完成两次或更多次,因为负载均衡器后面可能有多个应用程序,如果原始客户端没有得到 OK 或 FAIL 反馈,他会再次尝试,所以有可能有几个相同的工作几个单一的应用程序(负载均衡器!!!)。

我使用 Java,所以也许也可以使用另一个 redis 数据库客户端工具自己查看 REDIS 数据库。如果没有机会用 jesque 做到这一点,这将是我的第二个选择。有谁知道一个好的 Java 的 redis 数据库客户端?

最佳答案

我终于找到了它(应该)的工作方式,我想在这里记录下来。 QueueInfoDAORedisImpl 实现了“QueueInfoDAO”接口(interface)。

this.jedisPool = new JedisPool(jesqueConfig.getHost());
this.queueInfoDAORedisImpl = new net.greghaines.jesque.meta.dao.impl.QueueInfoDAORedisImpl(jesqueConfig, jedisPool);
List<QueueInfo> queueInfos = queueInfoDAORedisImpl.getQueueInfos();

for (QueueInfo queueInfo : queueInfos) {
//here are some QueueInfos like name or size
for (Job queuedJob : queueInfo.getJobs()) {
//read jobs arg,vars or do what you want
}
}

唯一的问题是 queueInfo.getJobs() 返回 null。有人知道为什么吗?似乎从未调用过 DAO setJob(),因此此 var 保持为空。

关于java - 杰斯克(Resque): Get all open delayed jobs in redis db,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27835428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com