code: def apply_async(self, args=None, kwargs=None, **options):
          
          once_options = options.get('once', {})
          once_graceful = once_options.get(
              'graceful', self.once.get('graceful', False))
          once_timeout = once_options.get(
              'timeout', self.once.get('timeout', self.default_timeout))
  
          if not options.get('retries'):
              key = self.get_key(args, kwargs)
              try:
                  self.once_backend.raise_or_lock(key, timeout=once_timeout)
              except AlreadyQueued as e:
                  if once_graceful:
                      return EagerResult(None, None, states.REJECTED)
                  raise e
          return super(QueueOnce, self).apply_async(args, kwargs, **options)
docs: Attempts to queues a task.
          Will raises an AlreadyQueued exception if already queued.
  
          :param \*args: positional arguments passed on to the task.
          :param \*\*kwargs: keyword arguments passed on to the task.
          :keyword \*\*once: (optional)
              :param: graceful: (optional)
                  If True, wouldn't raise an exception if already queued.
                  Instead will return none.
              :param: timeout: (optional)
                  An `int' number of seconds after which the lock will expire.
                  If not set, defaults to 1 hour.
              :param: keys: (optional)