Class: LogStash::PipelineAction::Create
- Includes:
- Util::Loggable
- Defined in:
- lib/logstash/pipeline_action/create.rb
Instance Method Summary collapse
-
#execute(agent, pipelines_registry) ⇒ Object
The execute assume that the thread safety access of the pipeline is managed by the caller.
-
#execution_priority ⇒ Object
Make sure we execution system pipeline like the monitoring before any user defined pipelines, system pipeline register hooks into the system that will be triggered by the user defined pipeline.
-
#initialize(pipeline_config, metric) ⇒ Create
constructor
We currently pass around the metric object again this is needed to correctly create a pipeline, in a future PR we could pass a factory to create the pipeline so we pass the logic to create the pipeline instead.
- #pipeline_id ⇒ Object
- #to_s ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(pipeline_config, metric) ⇒ Create
We currently pass around the metric object again this is needed to correctly create a pipeline, in a future PR we could pass a factory to create the pipeline so we pass the logic to create the pipeline instead.
15 16 17 18 |
# File 'lib/logstash/pipeline_action/create.rb', line 15 def initialize(pipeline_config, metric) @pipeline_config = pipeline_config @metric = metric end |
Instance Method Details
#execute(agent, pipelines_registry) ⇒ Object
The execute assume that the thread safety access of the pipeline is managed by the caller.
34 35 36 37 38 39 40 41 |
# File 'lib/logstash/pipeline_action/create.rb', line 34 def execute(agent, pipelines_registry) pipeline_class = @pipeline_config.settings.get_value("pipeline.java_execution") ? LogStash::JavaPipeline : LogStash::Pipeline new_pipeline = pipeline_class.new(@pipeline_config, @metric, agent) success = pipelines_registry.create_pipeline(pipeline_id, new_pipeline) do new_pipeline.start # block until the pipeline is correctly started or crashed end LogStash::ConvergeResult::ActionResult.create(self, success) end |
#execution_priority ⇒ Object
Make sure we execution system pipeline like the monitoring before any user defined pipelines, system pipeline register hooks into the system that will be triggered by the user defined pipeline.
27 28 29 30 |
# File 'lib/logstash/pipeline_action/create.rb', line 27 def execution_priority default_priority = super @pipeline_config.system? ? default_priority * -1 : default_priority end |
#pipeline_id ⇒ Object
20 21 22 |
# File 'lib/logstash/pipeline_action/create.rb', line 20 def pipeline_id @pipeline_config.pipeline_id end |
#to_s ⇒ Object
43 44 45 |
# File 'lib/logstash/pipeline_action/create.rb', line 43 def to_s "PipelineAction::Create<#{pipeline_id}>" end |