Skip to main content

A Django app to watch for changes and touch a file.

Project description


Touchwatch is a small Django app to watch a directory for changes and if any found, touch a file (to trigger a server restart).

Quick start

  1. Add “touchwatch” to your INSTALLED_APPS setting like this:

  2. Include the polls URLconf in your project like this:

    from touchwatch.views import wsgitime
    if settings.DEBUG:
        urlpatterns += path('wt/', wsgitime, name='wsgitime'),
  3. Include the template at the bottom of your base.html file

    {% include “touchwatch/js.html” %}

4.. Set the path of the file you want to touch in your settings file OR set the command you want to be run

TOUCHWATCH_PATH = “%s/uwsgi.ini” % APP_DIR

TOUCHWATCH_COMMAND = “ps -ef | grep ‘gunicorn’ | grep -v grep | awk ‘{print $2}’ | xargs -r kill -HUP 2> /dev/null”

5.. Set the path of the folder you want to watch in your settings file


How it works

From the commandline run the management command ‘touchwatch’:

python touchwatch

This will then sit and watch for changes to the file defined in TOUCHWATCH_FOLDER, when changes are seen then the file defined in TOUCHWATCH_PATH will be touched. A small piece of JS runs on all pages on the browser which looks for a change to the touched time of the defined file. When the time changes, the JS flashes the background colour and refreshes the page.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

touchwatch-0.2.tar.gz (6.4 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page