Class: SampleAccessioningJob
- Inherits:
-
Struct
- Object
- Struct
- SampleAccessioningJob
- Defined in:
- app/jobs/sample_accessioning_job.rb
Overview
Sends sample data to the ENA or EGA in order to generate an accession number Records the generated accession number on the sample
Instance Attribute Summary collapse
-
#accessionable ⇒ Object
Returns the value of attribute accessionable.
Instance Method Summary collapse
- #max_attempts ⇒ Object
- #perform ⇒ Object
- #queue_name ⇒ Object
- #reschedule_at(current_time, _attempts) ⇒ Object
Instance Attribute Details
#accessionable ⇒ Object
Returns the value of attribute accessionable
5 6 7 |
# File 'app/jobs/sample_accessioning_job.rb', line 5 def accessionable @accessionable end |
Instance Method Details
#max_attempts ⇒ Object
20 21 22 |
# File 'app/jobs/sample_accessioning_job.rb', line 20 def max_attempts 3 end |
#perform ⇒ Object
7 8 9 10 11 12 13 14 |
# File 'app/jobs/sample_accessioning_job.rb', line 7 def perform submission = Accession::Submission.new(User.find_by(api_key: configatron.accession_local_key), accessionable) submission.post # update_accession_number returns true if an accession has been supplied, and the sample has been saved. # If this returns false, then we fail the job. This should catch any failure situations submission.update_accession_number || raise(StandardError) end |
#queue_name ⇒ Object
24 25 26 |
# File 'app/jobs/sample_accessioning_job.rb', line 24 def queue_name 'sample_accessioning' end |
#reschedule_at(current_time, _attempts) ⇒ Object
16 17 18 |
# File 'app/jobs/sample_accessioning_job.rb', line 16 def reschedule_at(current_time, _attempts) current_time + 1.day end |