You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mastodon/app/workers
Claire 9a19227f17
Fix some RedisLocks auto-releasing too fast (#16276)
* Fix Delete and Create-related locks expiring too fast

Fixes #16238

By default, RedisLock expires after 10 seconds, which may not be enough to
process statuses, especially when those have attached media files.

This commit extends those 10 seconds to 15 minutes, which should be plenty
enough to handle any status, while being short enough to not waste many
sidekiq job retries in the exceedingly rare case in which a sidekiq process
would crash when processing a `Create` or `Delete`.

* Fix other RedisLock autorelease durations

Fixes #15645

- things that only perform a few simple database queries (e.g. finding and
  saving a record) have been left unchanged, so they'll still use the default
  10s duration
- things that perform significantly more complex database queries have been
  changed to a 5 minutes timeout
- things that perform multiple HTTP queries have been changed to a 15 minutes
  timeout
4 years ago
..
activitypub Fix nil error when removing status caused by race condition (#16099) 4 years ago
admin Change account suspensions to be reversible by default (#14726) 4 years ago
concerns Improved remote thread fetching (#10106) 6 years ago
import Add Ruby 3.0 support (#16046) 4 years ago
scheduler Improve performance of follow recommendation scheduler (#16159) 4 years ago
web Change Web Push API deliveries to use request pooling (#16014) 4 years ago
account_deletion_worker.rb Fix AccountDeletionWorker crashing and clogging sidekiq queues (#15380) 4 years ago
account_merging_worker.rb Fix resolving accounts sometimes creating duplicate records for a given AP id (#15364) 4 years ago
after_account_domain_block_worker.rb Fix domain hiding logic (#7765) 7 years ago
after_unallow_domain_worker.rb Fix removing allowed domains being done synchronously (#14302) 5 years ago
authorize_follow_worker.rb Fix being able to import more than allowed number of follows (#15384) 4 years ago
backup_worker.rb Change local media attachments to perform heavy processing asynchronously (#13210) 5 years ago
block_worker.rb Add conversations API (#8832) 6 years ago
bootstrap_timeline_worker.rb Default follows for new users (#4871) 7 years ago
cache_buster_worker.rb Add cache buster feature for media files (#15155) 4 years ago
delete_mute_worker.rb Add duration parameter to muting. (#13831) 4 years ago
digest_mailer_worker.rb Move e-mail digest task to sidekiq, reduce workload, improve hint (#6252) 7 years ago
distribution_worker.rb Fix some RedisLocks auto-releasing too fast (#16276) 4 years ago
domain_block_worker.rb Make domain block/silence/reject-media code more robust (#13424) 5 years ago
domain_clear_media_worker.rb Make domain block/silence/reject-media code more robust (#13424) 5 years ago
feed_insert_worker.rb Add option to be notified when a followed user posts (#13546) 4 years ago
fetch_reply_worker.rb Improved remote thread fetching (#10106) 6 years ago
import_worker.rb Add option to overwrite imported data (#9962) 6 years ago
link_crawl_worker.rb Improve error handling on LinkCrawlWorker (#5250) 7 years ago
local_notification_worker.rb Add option to be notified when a followed user posts (#13546) 4 years ago
merge_worker.rb Fix empty home feed before first follow has finished processing (#16152) 4 years ago
move_worker.rb Change move handler to carry blocks over (#14144) 5 years ago
mute_worker.rb Refactor feed manager (#14761) 4 years ago
poll_expiration_notify_worker.rb Fix poll ending notifications being created for each vote (#15071) 4 years ago
post_process_media_worker.rb Add color extraction for audio thumbnails (#14209) 5 years ago
publish_announcement_reaction_worker.rb Change Redis#exists calls to Redis#exists? to avoid deprecation warning (#14191) 5 years ago
publish_scheduled_announcement_worker.rb Change Redis#exists calls to Redis#exists? to avoid deprecation warning (#14191) 5 years ago
publish_scheduled_status_worker.rb Fix background jobs not using locks like they are supposed to (#13361) 5 years ago
push_conversation_worker.rb Add E2EE API (#13820) 5 years ago
push_encrypted_message_worker.rb Add E2EE API (#13820) 5 years ago
push_update_worker.rb Lists (#5703) 7 years ago
redownload_avatar_worker.rb Fix to be able to redownload avatar and header (#16190) 4 years ago
redownload_header_worker.rb Fix to be able to redownload avatar and header (#16190) 4 years ago
redownload_media_worker.rb Fix media redownload worker retrying on unexpected response codes (#16111) 4 years ago
refollow_worker.rb Fix being able to import more than allowed number of follows (#15384) 4 years ago
regeneration_worker.rb Fix background jobs not using locks like they are supposed to (#13361) 5 years ago
removal_worker.rb Add soft delete for statuses for instant deletes through API (#11623) 5 years ago
resolve_account_worker.rb Fix background jobs not using locks like they are supposed to (#13361) 5 years ago
thread_resolve_worker.rb Fix thread resolve worker retrying when status no longer exists (#16109) 4 years ago
unfavourite_worker.rb
unfollow_follow_worker.rb Fix being able to import more than allowed number of follows (#15384) 4 years ago
unmerge_worker.rb Refactor feed manager (#14761) 4 years ago
unpublish_announcement_worker.rb Change Redis#exists calls to Redis#exists? to avoid deprecation warning (#14191) 5 years ago
verify_account_links_worker.rb Fix background jobs not using locks like they are supposed to (#13361) 5 years ago