zulip/scripts
Steve Howell 51f74a7fd8 provision: Manage digests more rigorously.
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
2020-04-20 15:06:47 -07:00
..
lib provision: Manage digests more rigorously. 2020-04-20 15:06:47 -07:00
nagios python: Convert function type annotations to Python 3 style. 2020-04-18 20:42:48 -07:00
setup python: Convert function type annotations to Python 3 style. 2020-04-18 20:42:48 -07:00
README.md cleanup: Delete trailing newlines. 2019-08-06 23:29:11 -07:00
__init__.py Factor out venv-creating code from provision.py. 2016-06-21 11:25:41 -07:00
get-django-setting setup_path_on_import: Replace with setup_path function. 2020-02-25 15:40:21 -08:00
purge-old-deployments python: Convert function type annotations to Python 3 style. 2020-04-18 20:42:48 -07:00
restart-server restart-server: Restart Tornado processes individually. 2020-03-27 06:23:34 -07:00
upgrade-zulip Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
upgrade-zulip-from-git Use #!/usr/bin/env for bash shebangs. 2018-12-17 17:21:08 -08:00
zulip-puppet-apply parse_lsb_release: Use /etc/os-release instead of /etc/lsb-release. 2019-08-28 17:53:27 -07:00

README.md

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.