File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -43,6 +43,7 @@ group :development, :test do
4343 gem "bundler-audit" , require : false
4444 gem "brakeman" , require : false
4545 gem "rspec-rails" , "~> 7.0.0"
46+ gem "parallel" , "~> 1.27"
4647end
4748
4849group :test do
Original file line number Diff line number Diff line change 222222 bigdecimal (>= 3.0 )
223223 ostruct (>= 0.2 )
224224 ostruct (0.6.1 )
225- parallel (1.26.3 )
225+ parallel (1.27.0 )
226226 parser (3.3.7.1 )
227227 ast (~> 2.4.1 )
228228 racc
@@ -406,6 +406,7 @@ DEPENDENCIES
406406 logstash-logger (~> 0.26.1 )
407407 mysql2 (~> 0.5.3 )
408408 oj (~> 3.16 , >= 3.16.11 )
409+ parallel (~> 1.27 )
409410 rack-cors
410411 rails (~> 7.1.3 , >= 7.1.3.2 )
411412 rspec-rails (~> 7.0.0 )
Original file line number Diff line number Diff line change 1+ # frozen_string_literal: true
2+
3+ namespace :event do
4+ desc "Import Crossref DOIs for events created within a date range"
5+ # example command: IMPORT_DATE=2025-06-11 bundle exec rake event:import_crossref_event_dois
6+ task import_crossref_event_dois : :environment do
7+ date = Date . parse ( ENV [ "IMPORT_DATE" ] )
8+ start_date = date . beginning_of_day
9+ end_date = ( date + 1 ) . beginning_of_day
10+
11+ puts ( "Import date: #{ date } " )
12+ puts ( "Start date: #{ start_date } " )
13+ puts ( "End date: #{ end_date } " )
14+
15+ events = Event
16+ . where ( source_id : [ "crossref" , "datacite-crossref" ] )
17+ . where ( created_at : start_date ...end_date )
18+
19+ puts ( "Number of events: #{ events . count } " )
20+
21+ Parallel . each ( events , in_threads : 20 ) do |event |
22+ SqsUtilities . send_events_other_doi_job_message ( {
23+ subj_id : event . subj_id ,
24+ obj_id : event . obj_id ,
25+ } )
26+ end
27+ end
28+ end
You can’t perform that action at this time.
0 commit comments