gitlab-org--gitlab-foss/app/workers
Yorick Peterse 92b2c74ce1
Refresh project authorizations using a Redis lease
When I proposed using serializable transactions I was hoping we would be
able to refresh data of individual users concurrently. Unfortunately
upon closer inspection it was revealed this was not the case. This could
result in a lot of queries failing due to serialization errors,
overloading the database in the process (given enough workers trying to
update the target table).

To work around this we're now using a Redis lease that is cancelled upon
completion. This ensures we can update the data of different users
concurrently without overloading the database.

The code will try to obtain the lease until it succeeds, waiting at
least 1 second between retries. This is necessary as we may otherwise
end up _not_ updating the data which is not an option.
2016-11-25 13:35:01 +01:00
..
concerns Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
repository_check Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
admin_email_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
authorized_projects_worker.rb Refresh project authorizations using a Redis lease 2016-11-25 13:35:01 +01:00
build_coverage_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
build_email_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
build_finished_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
build_hooks_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
build_success_worker.rb Fix tests and add has_environment? 2016-11-17 12:08:28 +01:00
clear_database_cache_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
delete_merged_branches_worker.rb Add button to delete all merged branches 2016-11-09 21:04:03 +01:00
delete_user_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
email_receiver_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
emails_on_push_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
expire_build_artifacts_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
expire_build_instance_artifacts_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
git_garbage_collect_worker.rb Refine Git garbage collection 2016-11-04 14:30:11 +01:00
gitlab_shell_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
group_destroy_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
import_export_project_cleanup_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
irker_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
merge_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
new_note_worker.rb Preserve optional second parameter in NewNoteWorker jobs 2016-11-19 10:18:44 -08:00
pipeline_hooks_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
pipeline_metrics_worker.rb Renamed pipeline column and fixed permissions for builds in events controller 2016-11-17 08:22:58 +01:00
pipeline_notification_worker.rb include PipelineQueue, feedback: 2016-10-24 17:39:04 +08:00
pipeline_process_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
pipeline_success_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
pipeline_update_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
post_receive.rb remove extra spaces from app/workers/post_receive.rb 2016-11-01 21:46:37 +00:00
process_commit_worker.rb Process commits in a separate worker 2016-11-07 13:11:44 +01:00
project_cache_worker.rb Refactor cache refreshing/expiring 2016-11-21 15:05:13 +01:00
project_destroy_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
project_export_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
project_service_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
project_web_hook_worker.rb Merge branch 'master' into 'add-retry-limit-project-webhook' 2016-10-31 15:00:30 +00:00
prune_old_events_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
remove_expired_group_links_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
remove_expired_members_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
remove_unreferenced_lfs_objects_worker.rb Remove unreferenced LFS objects from DB and fs 2016-10-28 19:39:20 +02:00
repository_archive_cache_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
repository_fork_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
repository_import_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
requests_profiles_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
stuck_ci_builds_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
system_hook_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
trending_projects_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00
update_merge_requests_worker.rb Re-organize queues to use for Sidekiq 2016-10-21 18:17:07 +02:00