mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	We now have two functions related to digests
for processes:
    is_digest_obsolete
    write_digest_file
In most cases we now **wait** to write the
digest file until after we've successfully
run a process with its new inputs.
In one place, for database migrations, we
continue to write the digest optimistically.
We'll want to fix this, but it requires a
little more code cleanup.
Here is the typical sequence of events:
    NEVER RUN -
        is_digest_obsolete returns True
        quickly (we don't compute a hash)
        write_digest_file does a write (duh)
    AFTER NO CHANGES -
        is_digest_obsolete returns False
        after reading one file for old
        hash and multiple files to compute
        hash
        most callers skip write_digest_file
        (no files are changed)
    AFTER SOME CHANGES -
        is_digest_obsolete returns False
        after doing full checks
        most callers call write_digest_file
        *after* running a process
		
	
This directory contains scripts that:
- 
Generally do not require access to Django or the database (those are "management commands"), and thus are suitable to run operationally.
 - 
Are useful for managing a production deployment of Zulip (many are also used in a Zulip development environment, though development-only scripts live in
tools/). 
For more details, see https://zulip.readthedocs.io/en/latest/overview/directory-structure.html.