Merged fitbit-queues into one. Slight refactor to find out why mendeley_details breaks (still broken). Currently can't install Ruby 2.0 as debugger-gem breaks, not supported yet.

This commit is contained in:
drsnuggles
2013-03-09 12:53:21 +10:00
parent 9cf3e2b8f1
commit aa4c73dbda
8 changed files with 46 additions and 39 deletions

View File

@@ -2,7 +2,7 @@
class FitbitDump
include Sidekiq::Worker
sidekiq_options :queue => :fitbitdump
sidekiq_options :queue => :fitbit
def perform(target_address,fitbit_profile_id)
fp = FitbitProfile.find_by_id(fitbit_profile_id)

View File

@@ -2,7 +2,7 @@
class FitbitEdit
include Sidekiq::Worker
sidekiq_options :queue => :fitbitedit
sidekiq_options :queue => :fitbit
def perform(fitbit_profile_id)
@fitbit_profile = FitbitProfile.find_by_id(fitbit_profile_id)

View File

@@ -2,7 +2,7 @@
class FitbitEndSubscription
include Sidekiq::Worker
sidekiq_options :queue => :fitbitendsubscription
sidekiq_options :queue => :fitbit
def perform(fitbit_profile_id)
@fitbit_profile = FitbitProfile.find_by_id(fitbit_profile_id)

View File

@@ -2,7 +2,7 @@
class FitbitInit
include Sidekiq::Worker
sidekiq_options :queue => :fitbitinit
sidekiq_options :queue => :fitbit
def perform(fitbit_profile_id)
@client = Fitgem::Client.new(:consumer_key => APP_CONFIG[:fitbit_consumer_key], :consumer_secret => APP_CONFIG[:fitbit_consumer_secret])

View File

@@ -2,7 +2,7 @@
class FitbitNotification
include Sidekiq::Worker
sidekiq_options :queue => :fitbitnotification
sidekiq_options :queue => :fitbit
def perform(notification)
puts notification

View File

@@ -3,42 +3,49 @@ require "net/http"
require "json"
class MendeleyDetails
include Sidekiq::Worker
sidekiq_options :queue => :mendeley_details
include Sidekiq::Worker
sidekiq_options :queue => :mendeley_details
def perform(mendeley_paper_id)
@mendeley_paper = MendeleyPaper.find_by_id(mendeley_paper_id.to_i)
def perform(mendeley_paper_id)
# Logging stuff
Rails.logger.level = 0
Rails.logger = Logger.new("#{Rails.root}/log/mendeleydetails_#{Rails.env}.log")
@mendeley_paper = MendeleyPaper.find_by_id(mendeley_paper_id.to_i)
key_handle = File.open(::Rails.root.to_s+"/key_mendeley.txt")
api_key = key_handle.readline.rstrip
key_handle = File.open(::Rails.root.to_s+"/key_mendeley.txt")
api_key = key_handle.readline.rstrip
detail_url = "http://api.mendeley.com/oapi/documents/details/" + @mendeley_paper.uuid + "/?consumer_key="+api_key
begin
detail_resp = Net::HTTP.get_response(URI.parse(detail_url))
rescue
retry
end
detail_url = "http://api.mendeley.com/oapi/documents/details/" + @mendeley_paper.uuid + "/?consumer_key="+api_key
begin
detail_resp = Net::HTTP.get_response(URI.parse(detail_url))
rescue
retry
end
detail_data = detail_resp.body
detail_result = JSON.parse(detail_data)
detail_data = detail_resp.body
detail_result = JSON.parse(detail_data)
if detail_result["oa_journal"] != false
@mendeley_paper.open_access = true
else
@mendeley_paper.open_access = false
end
if detail_result["oa_journal"] != false
@mendeley_paper.open_access = true
else
@mendeley_paper.open_access = false
end
print "mendeley details: updated oa- and reader-status\n"
if detail_result["stats"]
@mendeley_paper.reader = detail_result["stats"]["readers"]
elsif detail_result["reader"]
@mendeley_paper.reader = detail_result["reader"]
else
@mendeley_paper.reader = "Unknown"
end
log "mendeley details: updated oa- and reader-status\n"
if detail_result["stats"]
@mendeley_paper.reader = detail_result["stats"]["readers"]
elsif detail_result["reader"]
@mendeley_paper.reader = detail_result["reader"]
else
@mendeley_paper.reader = "Unknown"
end
@mendeley_paper.save
print "-> sleep for 5 secs\n"
sleep(5)
end
@mendeley_paper.save
log "-> sleep for 5 secs\n"
sleep(5)
end
def log msg
Rails.logger.info "#{DateTime.now}: #{msg}"
end
end

View File

@@ -5,9 +5,9 @@ require 'rexml/document'
class Plos
include Sidekiq::Worker
sidekiq_options :queue => :plos
def is_illegal_snp(name)
# we don't need mitochondrial or VG-SNPs as these just result in noise
# we don't need mitochondrial or VG-SNPs as these just result in noise
# from the PLOS API
forbidden_names = ["mt-", "vg"]
if forbidden_names.any? { |part| name[part] }

View File

@@ -3,4 +3,4 @@
screen -d -m -S "Server" bundle exec rails s
screen -d -m -S "Solr" bundle exec rake sunspot:solr:run
screen -d -m -S "Redis" redis-server
screen -d -m -S "Sidekiq" bundle exec sidekiq -q preparse,2 -q parse,2 -q deletegenotype -q fitbitdump -q fitbitedit -q fitbitendsubscription -q fitbitinit -q fitbitnotification -q fixphenotypes -q frequency -q genomegov -q mailnewgenotype -q mendeley_details -q mendeley -q pgp -q plos_details -q plos -q zipfulldata -q snpedia -q zipgenotyping
screen -d -m -S "Sidekiq" bundle exec sidekiq -q preparse,2 -q parse,2 -q deletegenotype -q fitbit -q fixphenotypes -q frequency -q genomegov -q mailnewgenotype -q mendeley_details -q mendeley -q pgp -q plos_details -q plos -q zipfulldata -q snpedia -q zipgenotyping