Module: AfterCommitQueue
- Extended by:
- ActiveSupport::Concern
- Included in:
- AsyncDeviseEmail, AuditEvent, Ci::Bridge, Ci::Build, Ci::JobArtifact, Ci::Pipeline, Ci::Ref, Clusters::Cluster, Clusters::Integrations::Prometheus, Clusters::Platforms::Kubernetes, CommitStatus, ContainerRepository, CounterAttribute, Deployment, DesignManagement::Version, FastDestroyAll::Helpers, Group, Issuable, JiraImportState, Key, LfsObject, Member, Namespace, Namespace::AggregationSchedule, NamespaceStatistics, Note, Operations::FeatureFlag, PagesDomain, PoolRepository, Project, ProjectGroupLink, ProjectImportState, ProjectStatistics, Projects::BuildArtifactsSizeRefresh, Projects::DataTransfer, RemoteMirror, RepositoryStorageMovable, Snippet, SnippetStatistics, Terraform::State, UpdateNamespaceStatistics, UpdateProjectStatistics, User, X509Certificate
- Defined in:
- app/models/concerns/after_commit_queue.rb
Instance Method Summary collapse
Instance Method Details
#run_after_commit(&block) ⇒ Object
11 12 13 14 15 |
# File 'app/models/concerns/after_commit_queue.rb', line 11 def run_after_commit(&block) _after_commit_queue << block if block true end |
#run_after_commit_or_now(&block) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'app/models/concerns/after_commit_queue.rb', line 17 def run_after_commit_or_now(&block) if self.class.inside_transaction? if connection.current_transaction.records&.include?(self) run_after_commit(&block) else # If the current transaction does not include this record, we can run # the block now, even if it queues a Sidekiq job. Sidekiq::Worker.skipping_transaction_check do instance_eval(&block) end end else instance_eval(&block) end true end |