def cron(self, pattern, name, *args, **kwargs):
        """
        A function to setup a RQ job as a cronjob::

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

            add.cron('* * * * *', 'add-some-numbers', 1, 2, timeout=10)

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

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

        :param pattern: A Crontab pattern.
        :type pattern: str

        :param name: The name of the cronjob.
        :type name: str

        :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 repeat: The number of times the job needs to be repeatedly
                       queued via the cronjob. Take care only using this for
                       cronjob that don't already repeat themselves natively
                       due to their crontab.
        :type repeat: int

        :return: An RQ job instance.
        :rtype: ~flask_rq2.job.FlaskJob

        """
        queue_name = kwargs.pop('queue', self.queue_name)
        timeout = kwargs.pop('timeout', self.timeout)
        description = kwargs.pop('description', None)
        repeat = kwargs.pop('repeat', None)
        return self.rq.get_scheduler().cron(
            pattern,
            self.wrapped,
            args=args,
            kwargs=kwargs,
            repeat=repeat,
            queue_name=queue_name,
            id='cron-%s' % name,
            timeout=timeout,
            description=description,
        )