def manageLostClient(self, client): if self.clients[client] == WORKER_WORKING: deserialized = TwitterJob.deserialize(self.assigned_jobs[client]) if deserialized.operation == TwitterJob.TIMELINE_OP: self.redis.decr(Stats.TIMELINE_ONGOING) elif deserialized.operation == TwitterJob.FOLLOWER_OP: self.redis.decr(Stats.FOLLOWER_ONGOING) elif deserialized.operation == TwitterJob.ANALYZER_OP: self.redis.decr(Stats.ANALYZER_ONGOING) elif deserialized.operation == TwitterJob.UPDATE_OP: self.redis.decr(Stats.UPDATE_ONGOING) return JobTrackerFactory.manageLostClient(self, client)
def assignJobTo(self, client): type, job = JobTrackerFactory.assignJobTo(self, client) # Just used to keep track of some general statistics if type == TYPE_JOB: deserialized = TwitterJob.deserialize(job) if deserialized.operation == TwitterJob.TIMELINE_OP: self.redis.incr(Stats.TIMELINE_ONGOING) elif deserialized.operation == TwitterJob.FOLLOWER_OP: self.redis.incr(Stats.FOLLOWER_ONGOING) elif deserialized.operation == TwitterJob.ANALYZER_OP: self.redis.incr(Stats.ANALYZER_ONGOING) elif deserialized.operation == TwitterJob.UPDATE_OP: self.redis.incr(Stats.UPDATE_ONGOING) return type, job