Przeglądaj źródła

Separate background jobs into different queues. ATTENTION: new queue "pull"

must be added to the Sidekiq invokation in your systemd file

The pull queue will handle link crawling, thread resolving, and OStatus
processing. Such tasks are more likely to hang for a longer time (due to
network requests) so it is more sensible to not make the "in-house" tasks
wait for them.
master
Eugen Rochko 7 lat temu
rodzic
commit
f722bd2387
13 zmienionych plików z 16 dodań i 10 usunięć
  1. +1
    -1
      app/workers/after_remote_follow_request_worker.rb
  2. +1
    -1
      app/workers/after_remote_follow_worker.rb
  3. +1
    -1
      app/workers/import_worker.rb
  4. +1
    -1
      app/workers/link_crawl_worker.rb
  5. +2
    -0
      app/workers/merge_worker.rb
  6. +1
    -1
      app/workers/notification_worker.rb
  7. +1
    -1
      app/workers/processing_worker.rb
  8. +2
    -0
      app/workers/regeneration_worker.rb
  9. +1
    -1
      app/workers/salmon_worker.rb
  10. +1
    -1
      app/workers/thread_resolve_worker.rb
  11. +2
    -0
      app/workers/unmerge_worker.rb
  12. +1
    -1
      docker-compose.yml
  13. +1
    -1
      docs/Running-Mastodon/Production-guide.md

+ 1
- 1
app/workers/after_remote_follow_request_worker.rb Wyświetl plik

@@ -3,7 +3,7 @@
class AfterRemoteFollowRequestWorker
include Sidekiq::Worker

sidekiq_options retry: 5
sidekiq_options queue: 'pull', retry: 5

def perform(follow_request_id)
follow_request = FollowRequest.find(follow_request_id)


+ 1
- 1
app/workers/after_remote_follow_worker.rb Wyświetl plik

@@ -3,7 +3,7 @@
class AfterRemoteFollowWorker
include Sidekiq::Worker

sidekiq_options retry: 5
sidekiq_options queue: 'pull', retry: 5

def perform(follow_id)
follow = Follow.find(follow_id)


+ 1
- 1
app/workers/import_worker.rb Wyświetl plik

@@ -5,7 +5,7 @@ require 'csv'
class ImportWorker
include Sidekiq::Worker

sidekiq_options retry: false
sidekiq_options queue: 'pull', retry: false

def perform(import_id)
import = Import.find(import_id)


+ 1
- 1
app/workers/link_crawl_worker.rb Wyświetl plik

@@ -3,7 +3,7 @@
class LinkCrawlWorker
include Sidekiq::Worker

sidekiq_options retry: false
sidekiq_options queue: 'pull', retry: false

def perform(status_id)
FetchLinkCardService.new.call(Status.find(status_id))


+ 2
- 0
app/workers/merge_worker.rb Wyświetl plik

@@ -3,6 +3,8 @@
class MergeWorker
include Sidekiq::Worker

sidekiq_options queue: 'pull'

def perform(from_account_id, into_account_id)
FeedManager.instance.merge_into_timeline(Account.find(from_account_id), Account.find(into_account_id))
end


+ 1
- 1
app/workers/notification_worker.rb Wyświetl plik

@@ -3,7 +3,7 @@
class NotificationWorker
include Sidekiq::Worker

sidekiq_options retry: 5
sidekiq_options queue: 'push', retry: 5

def perform(xml, source_account_id, target_account_id)
SendInteractionService.new.call(xml, Account.find(source_account_id), Account.find(target_account_id))


+ 1
- 1
app/workers/processing_worker.rb Wyświetl plik

@@ -3,7 +3,7 @@
class ProcessingWorker
include Sidekiq::Worker

sidekiq_options backtrace: true
sidekiq_options queue: 'pull', backtrace: true

def perform(account_id, body)
ProcessFeedService.new.call(body, Account.find(account_id))


+ 2
- 0
app/workers/regeneration_worker.rb Wyświetl plik

@@ -3,6 +3,8 @@
class RegenerationWorker
include Sidekiq::Worker

sidekiq_options queue: 'pull', backtrace: true

def perform(account_id, timeline_type)
PrecomputeFeedService.new.call(timeline_type, Account.find(account_id))
end


+ 1
- 1
app/workers/salmon_worker.rb Wyświetl plik

@@ -3,7 +3,7 @@
class SalmonWorker
include Sidekiq::Worker

sidekiq_options backtrace: true
sidekiq_options queue: 'pull', backtrace: true

def perform(account_id, body)
ProcessInteractionService.new.call(body, Account.find(account_id))


+ 1
- 1
app/workers/thread_resolve_worker.rb Wyświetl plik

@@ -3,7 +3,7 @@
class ThreadResolveWorker
include Sidekiq::Worker

sidekiq_options retry: false
sidekiq_options queue: 'pull', retry: false

def perform(child_status_id, parent_url)
child_status = Status.find(child_status_id)


+ 2
- 0
app/workers/unmerge_worker.rb Wyświetl plik

@@ -3,6 +3,8 @@
class UnmergeWorker
include Sidekiq::Worker

sidekiq_options queue: 'pull'

def perform(from_account_id, into_account_id)
FeedManager.instance.unmerge_from_timeline(Account.find(from_account_id), Account.find(into_account_id))
end


+ 1
- 1
docker-compose.yml Wyświetl plik

@@ -33,7 +33,7 @@ services:
restart: always
build: .
env_file: .env.production
command: bundle exec sidekiq -q default -q mailers -q push
command: bundle exec sidekiq -q default -q mailers -q pull -q push
depends_on:
- db
- redis


+ 1
- 1
docs/Running-Mastodon/Production-guide.md Wyświetl plik

@@ -180,7 +180,7 @@ User=mastodon
WorkingDirectory=/home/mastodon/live
Environment="RAILS_ENV=production"
Environment="DB_POOL=5"
ExecStart=/home/mastodon/.rbenv/shims/bundle exec sidekiq -c 5 -q default -q mailers -q push
ExecStart=/home/mastodon/.rbenv/shims/bundle exec sidekiq -c 5 -q default -q mailers -q pull -q push
TimeoutSec=15
Restart=always



Ładowanie…
Anuluj
Zapisz