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
end
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
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 = Job.find_or_create_by(job_attributes)
job_attributes[:company_id] = Company.find_or_create_by!(company_attributes).id
job = Job.find_or_create_by!(job_attributes)
if job.errors.full_messages.present?
raise Exception.new "#{job.errors.full_messages.join(",")}"
raise ActiveRecord::Rollback
......@@ -28,15 +28,11 @@ class CrawlerService
industries = industries.map do |industry|
Industry.find_or_create_by({title: industry})
end
if cities.length > 0
cities.each do |city|
job.cities << city
end
cities.each do |city|
job.cities << city
end
if industries.length > 0
industries.each do |industry|
job.industries << industry
end
industries.each do |industry|
job.industries << industry
end
end
end
......
......@@ -78,7 +78,7 @@ namespace :crawler do
industry.text.tr(",","").squish
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}"
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