Procházet zdrojové kódy

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 před 7 roky
rodič
revize
f722bd2387
13 změnil soubory, kde provedl 16 přidání a 10 odebrání
  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 Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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 Zobrazit soubor

@@ -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



Načítá se…
Zrušit
Uložit