diff options
author | Claire <claire.github-309c@sitedethib.com> | 2022-05-24 14:49:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-24 14:49:13 +0200 |
commit | 1beb8db4e26d1bd4a801b432f466d948b3b562fc (patch) | |
tree | 39de9e2163c3737f182d67ba8718cde32d6a0296 /app/workers | |
parent | c279dbd47082e908d98dc8cf869c0ff7fc19f1ae (diff) | |
parent | 228ec75048a5527237720cdbaa8d6ab086ea6c84 (diff) |
Merge pull request #1779 from ClearlyClaire/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/workers')
-rw-r--r-- | app/workers/scheduler/indexing_scheduler.rb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/app/workers/scheduler/indexing_scheduler.rb b/app/workers/scheduler/indexing_scheduler.rb new file mode 100644 index 000000000..3a6f47a29 --- /dev/null +++ b/app/workers/scheduler/indexing_scheduler.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +class Scheduler::IndexingScheduler + include Sidekiq::Worker + include Redisable + + sidekiq_options retry: 0 + + def perform + indexes.each do |type| + with_redis do |redis| + ids = redis.smembers("chewy:queue:#{type.name}") + + type.import!(ids) + + redis.pipelined do |pipeline| + ids.each { |id| pipeline.srem("chewy:queue:#{type.name}", id) } + end + end + end + end + + def indexes + [AccountsIndex, TagsIndex, StatusesIndex] + end +end |