code: def put(self, item, block=True, timeout=None, dup_callback=None):
          
          if not self.is_duplicated(item):
              super(CachedQueue, self).put(item, block, timeout)
          else:
              if dup_callback:
                  dup_callback(item)
docs: Put an item to queue if it is not duplicated.