我们的系统处理队列中的许多作业,有时这些作业尚未完成处理。我们的系统可能会放置与当前正在处理的作业同名的作业。
在我们将其添加到队列中之前,是否有一个检查器会告诉我们同名的作业已经在队列中?
谢谢大家!
Beanstalkd 没有在其中查找内容的功能 - 它是一个作业队列,而不是一个巨大的数组。不过,其他东西可以与它结合使用,这确实允许随机访问数据以记录是否已经完成某些事情。
如果您知道所有作业都有特定的标识符,则可以将它们放入 Redis 或 Memcached,可能带有某种形式的前缀,并且可能过期,超过此期限它们将不会存储。
Redis还允许其他数据结构也可以提供帮助,例如Bloom Filters和Redis-native Hyperloglog。