Module: PipelineService

Defined in:
app/services/pipeline_service.rb,
app/services/pipeline_service/logger.rb,
app/services/pipeline_service/account.rb,
app/services/pipeline_service/api/publish.rb,
app/services/pipeline_service/http_client.rb,
app/services/pipeline_service/events/emitter.rb,
app/services/pipeline_service/pipeline_client.rb,
app/services/pipeline_service/commands/publish.rb,
app/services/pipeline_service/serializers/user.rb,
app/services/pipeline_service/nouns/unit_grades.rb,
app/services/pipeline_service/endpoints/pipeline.rb,
app/services/pipeline_service/events/http_client.rb,
app/services/pipeline_service/events/subscription.rb,
app/services/pipeline_service/serializers/fetcher.rb,
app/services/pipeline_service/events/responders/sis.rb,
app/services/pipeline_service/serializers/assignment.rb,
app/services/pipeline_service/serializers/enrollment.rb,
app/services/pipeline_service/serializers/submission.rb,
app/services/pipeline_service/commands/publish_events.rb,
app/services/pipeline_service/events/graded_out_event.rb,
app/services/pipeline_service/serializers/unit_grades.rb,
app/services/pipeline_service/serializers/base_methods.rb,
app/services/pipeline_service/events/grade_changed_event.rb,
app/services/pipeline_service/events/responders/sis_unit_grade.rb,
app/services/pipeline_service/serializers/canvas_api_enrollment.rb,
app/services/pipeline_service/endpoints/pipeline/message_builder.rb

Overview

The API calls Commands

Class methods map to Commands ie: PipelineService::API::Publish calls PipelineService::Commands::Publish

Defined Under Namespace

Modules: API, Account, Commands, Endpoints, Events, Nouns, Serializers Classes: HTTPClient, Logger, PipelineClient

Constant Summary collapse

@@queue_mode =
ENV['SYNCHRONOUS_PIPELINE_JOBS'] == 'true' ? 'synchronous' : 'asynchronous'

Class Method Summary collapse

Class Method Details

.perform_synchronously?Boolean

Returns:

  • (Boolean)


12
13
14
# File 'app/services/pipeline_service.rb', line 12

def self.perform_synchronously?
  queue_mode == 'synchronous'
end

.publish(object, api: API::Publish, noun: nil) ⇒ Object



7
8
9
10
# File 'app/services/pipeline_service.rb', line 7

def self.publish(object, api: API::Publish, noun: nil)
  return if SettingsService.get_settings(object: :school, id: 1)['disable_pipeline']
  api.new(object, noun: noun).call
end

.queue_mode=(mode) ⇒ Object



17
18
19
20
21
22
23
24
25
26
# File 'app/services/pipeline_service.rb', line 17

def self.queue_mode=(mode)
  case mode
  when 'synchronous'
    @@queue_mode = 'synchronous'
  when 'asynchronous'
    @@queue_mode = 'asynchronous'
  else
    raise 'unknown queue mode: ' + mode
  end
end