Class: MatViews::DeleteViewJob
- Inherits:
-
ApplicationJob
- Object
- ActiveJob::Base
- ApplicationJob
- MatViews::DeleteViewJob
- Defined in:
- app/jobs/mat_views/delete_view_job.rb
Overview
ActiveJob that handles deletion of PostgreSQL materialised views via Services::DeleteView.
This job mirrors CreateViewJob and RefreshViewJob: it times the run and persists lifecycle state in MatViewRun.
Instance Attribute Summary collapse
-
#cascade ⇒ Boolean
readonly
cascade flag for the service call.
Instance Method Summary collapse
-
#perform(mat_view_definition_id, cascade_arg = nil, row_count_strategy_arg = nil) ⇒ Hash
Perform the job for the given materialised view definition.
Instance Attribute Details
#cascade ⇒ Boolean (readonly)
cascade flag for the service call
32 33 34 |
# File 'app/jobs/mat_views/delete_view_job.rb', line 32 def cascade @cascade end |
Instance Method Details
#perform(mat_view_definition_id, cascade_arg = nil, row_count_strategy_arg = nil) ⇒ Hash
Perform the job for the given materialised view definition.
58 59 60 61 62 63 64 65 |
# File 'app/jobs/mat_views/delete_view_job.rb', line 58 def perform(mat_view_definition_id, cascade_arg = nil, row_count_strategy_arg = nil) definition = MatViews::MatViewDefinition.find(mat_view_definition_id) record_run(definition, :drop) do MatViews::Services::DeleteView.new(definition, cascade: cascade?(cascade_arg), row_count_strategy: normalize_strategy(row_count_strategy_arg)).call end end |