Changeset 1476
- Timestamp:
- 04/08/08 12:11:58 (5 months ago)
- Files:
-
- hive/trunk/data_webapp/app/models/bee_job.rb (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
hive/trunk/data_webapp/app/models/bee_job.rb
r1441 r1476 3 3 serialize :job_data 4 4 5 # Pull a job from the database 5 # Pull a job from the database used by the worker bee 6 6 def self.get_job 7 result = nil 8 job = find(:first, :order => "created_at DESC") 9 if job 10 jt = job.job_type 11 data = job.job_data 12 result = clean_data(jt,data) 13 end 14 result 7 # Get the oldest jobs first 8 job = find(:first, :order => "created_at ASC") 15 9 end 16 10 17 def self.clean_data(jt,data )11 def self.clean_data(jt,data,cid) 18 12 case jt 19 13 when "client" 20 14 # remove id 21 15 data.delete('id') 22 return [jt,data]16 return data 23 17 when "fingerprint" 24 client_id = data["client_id"] 25 c = Client.find(client_id) 26 data["cid"] = c.cid 18 data["cid"] = cid 27 19 data.delete("client_id") 28 return [jt,data]20 return data 29 21 when "history_urls" 30 # same as fingerprint31 client_id = data["client_id"]32 c = Client.find(client_id)33 data["cid"] = c.cid34 22 data.delete("client_id") 35 23 … … 39 27 obj.delete("client_id") 40 28 end 41 return [jt,data]29 return data 42 30 else 43 31 return nil … … 47 35 # Add a job. This is called from the hc_controller 48 36 # type = client | fingerprint | history_url 49 # data is the hash table from the manager 50 def self.add_job(type,data) 51 BeeJob.create(:job_type => type, :job_data => data) 37 # data is the raw hash table from the manager 38 def self.add_job(job_type,data,cid=nil) 39 d = clean_data(job_type,data,cid) 40 if d 41 BeeJob.create(:job_type => job_type, :job_data => d) 42 end 52 43 end 53 44 end
