code: def document_from_string(self, schema, request_string):
          # type: (GraphQLSchema, str) -> GraphQLDocument
          
          key = self.get_key_for_schema_and_document_string(schema, request_string)
          if key not in self.cache_map:
              # We return from the fallback
              self.cache_map[key] = self.fallback_backend.document_from_string(
                  schema, request_string
              )
              # We ensure the main backend response is in the queue
              self.get_worker().queue(self.queue_backend, key, schema, request_string)
  
          return self.cache_map[key]
docs: This method returns a GraphQLQuery (from cache if present)