code: def _need_update(self, project_name, updatetime=None, md5sum=None):
          '''Check if project_name need update'''
          if project_name not in self.projects:
              return True
          elif md5sum and md5sum != self.projects[project_name]['info'].get('md5sum'):
              return True
          elif updatetime and updatetime > self.projects[project_name]['info'].get('updatetime', 0):
              return True
          elif time.time() - self.projects[project_name]['load_time'] > self.RELOAD_PROJECT_INTERVAL:
              return True
          return Falsf _need_update(self, project_name, updatetime=None, md5sum=None):
          '''Check if project_name need update'''
          if project_name not in self.projects:
              return True
          elif md5sum and md5sum != self.projects[project_name]['info'].get('md5sum'):
              return True
          elif updatetime and updatetime > self.projects[project_name]['info'].get('updatetime', 0):
              return True
          elif time.time() - self.projects[project_name]['load_time'] > self.RELOAD_PROJECT_INTERVAL:
              return True
          return False
docs: Check if project_name need update