mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			27 lines
		
	
	
		
			887 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			887 B
		
	
	
	
		
			Python
		
	
	
	
	
	
from __future__ import absolute_import
 | 
						|
from __future__ import print_function
 | 
						|
 | 
						|
from django.core.management.base import BaseCommand
 | 
						|
 | 
						|
from zerver.models import Message
 | 
						|
import datetime
 | 
						|
import time
 | 
						|
 | 
						|
class Command(BaseCommand):
 | 
						|
    help = """Render all historical messages that haven't been rendered yet.
 | 
						|
 | 
						|
Usage: python manage.py render_old_messages"""
 | 
						|
 | 
						|
    def handle(self, *args, **options):
 | 
						|
        total_rendered = 0
 | 
						|
        while True:
 | 
						|
            messages = Message.objects.filter(rendered_content_version=None)[0:100]
 | 
						|
            if len(messages) == 0:
 | 
						|
                break
 | 
						|
            for message in messages:
 | 
						|
                message.maybe_render_content(None, save=True)
 | 
						|
            total_rendered += len(messages)
 | 
						|
            print(datetime.datetime.now(), total_rendered)
 | 
						|
            # Put in some sleep so this can run safely on low resource machines
 | 
						|
            time.sleep(0.25)
 |