Exemple #1
0
    def do_render(self, doc):
        # Skip very recently rendered documents. This should help make it
        # easier to start and stop an --all command without needing to start
        # from the top of the list every time.
        if doc.last_rendered_at:
            now = datetime.datetime.now()
            render_age = now - doc.last_rendered_at
            min_age = datetime.timedelta(seconds=self.options['min_age'])
            if (render_age < min_age):
                logging.debug(u"Skipping %s (%s) - rendered %s sec ago" %
                              (doc, doc.get_absolute_url(), render_age))
                return

        if self.options['force']:
            doc.render_started_at = None

        if self.options['nocache']:
            cc = 'no-cache'
        else:
            cc = 'max-age=0'

        if self.options['defer']:
            logging.info(u"Queuing deferred render for %s (%s)" %
                         (doc, doc.get_absolute_url()))
            render_document.delay(doc.pk, cc, self.base_url)
            logging.debug(u"Queued.")

        else:
            logging.info(u"Rendering %s (%s)" % (doc, doc.get_absolute_url()))
            try:
                render_document(doc, cc, self.base_url)
                logging.debug(u"DONE.")
            except DocumentRenderingInProgress:
                logging.error(
                    u"Rendering is already in progress for this document")
    def do_render(self, doc):
        # Skip very recently rendered documents. This should help make it
        # easier to start and stop an --all command without needing to start
        # from the top of the list every time.
        if doc.last_rendered_at:
            now = datetime.datetime.now()
            render_age = now - doc.last_rendered_at
            min_age = datetime.timedelta(seconds=self.options['min_age'])
            if (render_age < min_age):
                logging.debug(u"Skipping %s (%s) - rendered %s sec ago" %
                              (doc, doc.get_absolute_url(), render_age))
                return

        if self.options['force']:
            doc.render_started_at = None

        if self.options['nocache']:
            cc = 'no-cache'
        else:
            cc = 'max-age=0'

        if self.options['defer']:
            logging.info(u"Queuing deferred render for %s (%s)" %
                          (doc, doc.get_absolute_url()))
            render_document.delay(doc.pk, cc, self.base_url)
            logging.debug(u"Queued.")

        else:
            logging.info(u"Rendering %s (%s)" %
                         (doc, doc.get_absolute_url()))
            try:
                render_document(doc, cc, self.base_url)
                logging.debug(u"DONE.")
            except DocumentRenderingInProgress:
                logging.error(u"Rendering is already in progress for this document")
Exemple #3
0
    def handle(self, *args, **options):
        
        base_url = options['baseurl']
        if not base_url:
            from django.contrib.sites.models import Site
            site = Site.objects.get_current()
            base_url = 'http://%s' % site.domain

        path = args[0]
        if path.startswith('/'):
            path = path[1:]
        locale, sep, slug = path.partition('/')
        head, sep, tail = slug.partition('/')
        if head == 'docs':
            slug = tail

        doc = Document.objects.get(locale=locale, slug=slug)

        if options['force']:
            doc.render_started_at = None

        if options['nocache']:
            cc = 'no-cache'
        else:
            cc = 'max-age=0'

        if options['defer']:
            logging.info("Queuing deferred render for %s (%s)" %
                          (doc, doc.get_absolute_url()))
            render_document.delay(doc, cc, base_url)
            logging.info("Queued.")

        else:
            logging.info("Rendering %s (%s)" %
                         (doc, doc.get_absolute_url()))
            try:
                render_document(doc, cc, base_url)
                logging.info("DONE.")
            except DocumentRenderingInProgress:
                logging.error("Rendering is already in progress for this "
                              "document") 
Exemple #4
0
    def handle(self, *args, **options):

        base_url = options['baseurl']
        if not base_url:
            from django.contrib.sites.models import Site
            site = Site.objects.get_current()
            base_url = 'http://%s' % site.domain

        path = args[0]
        if path.startswith('/'):
            path = path[1:]
        locale, sep, slug = path.partition('/')
        head, sep, tail = slug.partition('/')
        if head == 'docs':
            slug = tail

        doc = Document.objects.get(locale=locale, slug=slug)

        if options['force']:
            doc.render_started_at = None

        if options['nocache']:
            cc = 'no-cache'
        else:
            cc = 'max-age=0'

        if options['defer']:
            logging.info("Queuing deferred render for %s (%s)" %
                         (doc, doc.get_absolute_url()))
            render_document.delay(doc, cc, base_url)
            logging.info("Queued.")

        else:
            logging.info("Rendering %s (%s)" % (doc, doc.get_absolute_url()))
            try:
                render_document(doc, cc, base_url)
                logging.info("DONE.")
            except DocumentRenderingInProgress:
                logging.error("Rendering is already in progress for this "
                              "document")