Commit 15b33b8c by Trịnh Hoàng Phúc

Fix review 13/05/2020.2

parent b7c9fd57
Pipeline #615 failed with stages
in 0 seconds
...@@ -14,10 +14,10 @@ class CrawlerService ...@@ -14,10 +14,10 @@ class CrawlerService
end end
def self.imports(job_attributes, company_attributes, cities, industries) def self.imports(job_attributes, company_attributes, cities, industries)
raise Exception.new "Not enough data transferred" if job_attributes.nil? || company_attributes.nil? || cities.nil? || industries.nil?
ActiveRecord::Base.transaction do ActiveRecord::Base.transaction do
raise Exception.new "Not enough data transferred" if job_attributes.nil? || company_attributes.nil? || cities.nil? || industries.nil? job_attributes[:company_id] = Company.find_or_create_by!(company_attributes).id
job_attributes[:company_id] = Company.find_or_create_by(company_attributes).id job = Job.find_or_create_by!(job_attributes)
job = Job.find_or_create_by(job_attributes)
if job.errors.full_messages.present? if job.errors.full_messages.present?
raise Exception.new "#{job.errors.full_messages.join(",")}" raise Exception.new "#{job.errors.full_messages.join(",")}"
raise ActiveRecord::Rollback raise ActiveRecord::Rollback
...@@ -28,15 +28,11 @@ class CrawlerService ...@@ -28,15 +28,11 @@ class CrawlerService
industries = industries.map do |industry| industries = industries.map do |industry|
Industry.find_or_create_by({title: industry}) Industry.find_or_create_by({title: industry})
end end
if cities.length > 0 cities.each do |city|
cities.each do |city| job.cities << city
job.cities << city
end
end end
if industries.length > 0 industries.each do |industry|
industries.each do |industry| job.industries << industry
job.industries << industry
end
end end
end end
end end
......
...@@ -78,7 +78,7 @@ namespace :crawler do ...@@ -78,7 +78,7 @@ namespace :crawler do
industry.text.tr(",","").squish industry.text.tr(",","").squish
end end
CrawlerService.imports(job_attributes, company_attributes, cities, industries) result = CrawlerService.imports(job_attributes, company_attributes, cities, industries)
logger.info "Crawl success url : #{item.css(".figure .figcaption .title .job_link @href").text}" logger.info "Crawl success url : #{item.css(".figure .figcaption .title .job_link @href").text}"
rescue Exception => e rescue Exception => e
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment