Example #1
0
	def handle(self, *args, **options):
		from django.conf import settings
		from bambu import cron
		from os import path, remove
		import logging, time
		
		flag = getattr(settings, 'CRON_FLAG_FILE', None)
		logger = logging.getLogger('bambu.cron')
		
		if flag and path.exists(flag):
			logger.info('A prior cron job is still running.')
			return
		
		cron.autodiscover()
		if options['setup']:
			cron.site.setup()
		
		if flag:
			logger.debug('Setting flag file "%s"' % flag)
			open(flag, 'w').write(
				str(time.time())
			)
		
		try:
			cron.site.run(options['force'], options['debug'])
		finally:
			if flag and path.exists(flag):
				logger.debug('Removing flag file "%s"' % flag)
				remove(flag)
Example #2
0
from bambu import cron

cron.autodiscover()


class CronMiddleware(object):
    def process_request(self, *args, **kwargs):
        cron.site.run()
Example #3
0
from bambu import cron

cron.autodiscover()
class EnqueueMiddleware(object):
	def process_template_response(self, request, response):
		if not hasattr(response, 'context_data'):
			return response
		
		queues = getattr(request, 'queues', {})
		
		css = list(response.context_data.get('enqueued_styles') or [])
		css.extend(queues.get('css') or [])
		response.context_data['enqueued_styles'] = css
		
		scripts = list(response.context_data.get('enqueued_scripts') or [])
		scripts.extend(queues.get('js') or [])
		response.context_data['enqueued_scripts'] = scripts
		
		return response