added cvemon in a worker now with upsert_all

This commit is contained in:
Brendan McDevitt 2022-04-19 00:18:29 -05:00
parent 44be58eeb3
commit dfbca14799
5 changed files with 24 additions and 10 deletions

View file

@ -0,0 +1,10 @@
require '/data_importer/lib/importers/cve_list_importer.rb'
class CveListImporterWorker
include Faktory::Job
def perform(*args)
puts "Hello, I am #{jid} with args #{args}"
CveListImporter.new.import
end
end

View file

@ -0,0 +1,10 @@
require '/data_importer/lib/importers/cvemon_cve_importer.rb'
class CvemonCveImporterWorker
include Faktory::Job
def perform(*args)
puts "Hello, I am #{jid} with args #{args}"
CvemonCveImporter.new.import
end
end

View file

@ -4,6 +4,7 @@ class CreateCvemonCves < ActiveRecord::Migration[7.0]
t.string :cve_id
t.index :cve_id, unique: true
t.string :urls, array: true
t.timestamps
end
end
end

View file

@ -43,6 +43,8 @@ ActiveRecord::Schema[7.0].define(version: 2022_04_11_181501) do
create_table "cvemon_cves", force: :cascade do |t|
t.string "cve_id"
t.string "urls", array: true
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["cve_id"], name: "index_cvemon_cves_on_cve_id", unique: true
end

View file

@ -20,14 +20,6 @@ class CvemonCveImporter
end
end
def bulk_insert(cves)
CvemonCve.bulk_insert do |worker|
cves.each do |attrs|
worker.add(attrs)
end
end
end
def import
feed = get_cve_data
cve_ids = feed.keys
@ -35,7 +27,6 @@ class CvemonCveImporter
cves = cve_ids.map do |cve_id|
{ :cve_id => cve_id, :urls => feed[cve_id] }
end
bulk_insert(cves)
CvemonCve.upsert_all(cves, unique_by: :cve_id)
end
end