def queue(self, *args, **kwargs):
        """
        A function to queue a RQ job, e.g.::

            @rq.job(timeout=60)
            def add(x, y):
                return x + y

            add.queue(1, 2, timeout=30)

        :param \\*args: The positional arguments to pass to the queued job.

        :param \\*\\*kwargs: The keyword arguments to pass to the queued job.

        :param queue: Name of the queue to queue in, defaults to
                      queue of of job or :attr:`~flask_rq2.RQ.default_queue`.
        :type queue: str

        :param timeout: The job timeout in seconds.
                        If not provided uses the job's timeout or
                        :attr:`~flask_rq2.RQ.default_timeout`.
        :type timeout: int

        :param description: Description of the job.
        :type description: str

        :param result_ttl: The result TTL in seconds. If not provided
                           uses the job's result TTL or
                           :attr:`~flask_rq2.RQ.default_result_ttl`.
        :type result_ttl: int

        :param ttl: The job TTL in seconds. If not provided
                    uses the job's TTL or no TTL at all.
        :type ttl: int

        :param depends_on: A job instance or id that the new job depends on.
        :type depends_on: ~flask_rq2.job.FlaskJob or str

        :param job_id: A custom ID for the new job. Defaults to an
                       :mod:`UUID <uuid>`.
        :type job_id: str

        :param at_front: Whether or not the job is queued in front of all other
                         enqueued jobs.
        :type at_front: bool

        :param meta: Additional meta data about the job.
        :type meta: dict

        :return: An RQ job instance.
        :rtype: ~flask_rq2.job.FlaskJob
        """
        queue_name = kwargs.pop('queue', self.queue_name)

        timeout = kwargs.pop('timeout', self.timeout)
        result_ttl = kwargs.pop('result_ttl', self.result_ttl)
        ttl = kwargs.pop('ttl', self.ttl)
        depends_on = kwargs.pop('depends_on', self._depends_on)
        job_id = kwargs.pop('job_id', None)
        at_front = kwargs.pop('at_front', self._at_front)
        meta = kwargs.pop('meta', self._meta)
        description = kwargs.pop('description', self._description)
        return self.rq.get_queue(queue_name).enqueue_call(
            self.wrapped,
            args=args,
            kwargs=kwargs,
            timeout=timeout,
            result_ttl=result_ttl,
            ttl=ttl,
            depends_on=depends_on,
            job_id=job_id,
            at_front=at_front,
            meta=meta,
            description=description,
        )