diff --git a/app/workers/cve_list_importer_worker.rb b/app/workers/cve_list_importer_worker.rb new file mode 100644 index 0000000..b3cdb21 --- /dev/null +++ b/app/workers/cve_list_importer_worker.rb @@ -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 \ No newline at end of file diff --git a/app/workers/cvemon_cve_importer_worker.rb b/app/workers/cvemon_cve_importer_worker.rb new file mode 100644 index 0000000..4e1e90e --- /dev/null +++ b/app/workers/cvemon_cve_importer_worker.rb @@ -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 \ No newline at end of file diff --git a/db/migrate/20220407083218_create_cvemon_cves.rb b/db/migrate/20220407083218_create_cvemon_cves.rb index 7d76695..f66528c 100644 --- a/db/migrate/20220407083218_create_cvemon_cves.rb +++ b/db/migrate/20220407083218_create_cvemon_cves.rb @@ -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 diff --git a/db/schema.rb b/db/schema.rb index c654d45..0c544d3 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -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 diff --git a/lib/importers/cvemon_cve_importer.rb b/lib/importers/cvemon_cve_importer.rb index 5d1e7ee..4acb8e0 100644 --- a/lib/importers/cvemon_cve_importer.rb +++ b/lib/importers/cvemon_cve_importer.rb @@ -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 \ No newline at end of file