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
2021-05-19 23:52:08 +02:00
..
activitypub Fix nil error when removing status caused by race condition (#16099) 2021-04-24 13:35:39 +02:00
admin Change account suspensions to be reversible by default (#14726) 2020-09-15 14:37:58 +02:00
concerns Improved remote thread fetching (#10106) 2019-02-28 15:22:21 +01:00
import Add Ruby 3.0 support (#16046) 2021-05-06 14:22:54 +02:00
scheduler Improve performance of follow recommendation scheduler (#16159) 2021-05-05 22:04:52 +02:00
web Change Web Push API deliveries to use request pooling (#16014) 2021-04-12 14:25:34 +02:00
account_deletion_worker.rb Fix AccountDeletionWorker crashing and clogging sidekiq queues (#15380) 2020-12-20 18:25:00 +01:00
account_merging_worker.rb Fix resolving accounts sometimes creating duplicate records for a given AP id (#15364) 2020-12-18 23:26:26 +01:00
after_account_domain_block_worker.rb Fix domain hiding logic (#7765) 2018-06-09 22:46:54 +02:00
after_unallow_domain_worker.rb Fix removing allowed domains being done synchronously (#14302) 2020-07-15 21:08:19 +02:00
authorize_follow_worker.rb Fix being able to import more than allowed number of follows (#15384) 2020-12-26 23:52:46 +01:00
backup_worker.rb Change local media attachments to perform heavy processing asynchronously (#13210) 2020-03-08 23:56:18 +01:00
block_worker.rb Add conversations API (#8832) 2018-10-07 23:44:58 +02:00
bootstrap_timeline_worker.rb
cache_buster_worker.rb Add cache buster feature for media files (#15155) 2020-11-19 17:38:06 +01:00
delete_mute_worker.rb Add duration parameter to muting. (#13831) 2020-10-13 01:01:14 +02:00
digest_mailer_worker.rb Move e-mail digest task to sidekiq, reduce workload, improve hint (#6252) 2018-01-15 04:34:28 +01:00
distribution_worker.rb Fix some RedisLocks auto-releasing too fast (#16276) 2021-05-19 23:52:08 +02:00
domain_block_worker.rb Make domain block/silence/reject-media code more robust (#13424) 2020-06-09 10:32:00 +02:00
domain_clear_media_worker.rb Make domain block/silence/reject-media code more robust (#13424) 2020-06-09 10:32:00 +02:00
feed_insert_worker.rb Add option to be notified when a followed user posts (#13546) 2020-09-18 17:26:45 +02:00
fetch_reply_worker.rb Improved remote thread fetching (#10106) 2019-02-28 15:22:21 +01:00
import_worker.rb Add option to overwrite imported data (#9962) 2019-02-03 03:59:51 +01:00
link_crawl_worker.rb
local_notification_worker.rb Add option to be notified when a followed user posts (#13546) 2020-09-18 17:26:45 +02:00
merge_worker.rb Fix empty home feed before first follow has finished processing (#16152) 2021-05-04 04:45:08 +02:00
move_worker.rb Change move handler to carry blocks over (#14144) 2020-07-01 13:51:15 +02:00
mute_worker.rb Refactor feed manager (#14761) 2020-09-08 03:41:16 +02:00
poll_expiration_notify_worker.rb Fix poll ending notifications being created for each vote (#15071) 2020-11-01 06:34:43 +01:00
post_process_media_worker.rb Add color extraction for audio thumbnails (#14209) 2020-07-05 18:28:25 +02:00
publish_announcement_reaction_worker.rb Change Redis#exists calls to Redis#exists? to avoid deprecation warning (#14191) 2020-07-01 19:05:21 +02:00
publish_scheduled_announcement_worker.rb Change Redis#exists calls to Redis#exists? to avoid deprecation warning (#14191) 2020-07-01 19:05:21 +02:00
publish_scheduled_status_worker.rb Fix background jobs not using locks like they are supposed to (#13361) 2020-03-31 21:59:03 +02:00
push_conversation_worker.rb Add E2EE API (#13820) 2020-06-02 19:24:53 +02:00
push_encrypted_message_worker.rb Add E2EE API (#13820) 2020-06-02 19:24:53 +02:00
push_update_worker.rb
redownload_avatar_worker.rb Fix to be able to redownload avatar and header (#16190) 2021-05-11 14:19:22 +02:00
redownload_header_worker.rb Fix to be able to redownload avatar and header (#16190) 2021-05-11 14:19:22 +02:00
redownload_media_worker.rb Fix media redownload worker retrying on unexpected response codes (#16111) 2021-05-05 23:46:59 +02:00
refollow_worker.rb Fix being able to import more than allowed number of follows (#15384) 2020-12-26 23:52:46 +01:00
regeneration_worker.rb Fix background jobs not using locks like they are supposed to (#13361) 2020-03-31 21:59:03 +02:00
removal_worker.rb Add soft delete for statuses for instant deletes through API (#11623) 2019-08-22 21:55:56 +02:00
resolve_account_worker.rb Fix background jobs not using locks like they are supposed to (#13361) 2020-03-31 21:59:03 +02:00
thread_resolve_worker.rb Fix thread resolve worker retrying when status no longer exists (#16109) 2021-04-26 18:56:45 +02:00
unfavourite_worker.rb
unfollow_follow_worker.rb Fix being able to import more than allowed number of follows (#15384) 2020-12-26 23:52:46 +01:00
unmerge_worker.rb Refactor feed manager (#14761) 2020-09-08 03:41:16 +02:00
unpublish_announcement_worker.rb Change Redis#exists calls to Redis#exists? to avoid deprecation warning (#14191) 2020-07-01 19:05:21 +02:00
verify_account_links_worker.rb Fix background jobs not using locks like they are supposed to (#13361) 2020-03-31 21:59:03 +02:00