-
Notifications
You must be signed in to change notification settings - Fork 0
Run commands at specified intervals. (Note, this is a fork)
oppianmatt/django-chronograph
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
=========== Chronograph =========== Chronograph is a simple application that allows you to control the frequency at which a Django management command gets run. To help explain how this is useful, let's consider a simple example. Say you've written an application that displays weather on your site. You've written a custom management command that you can execute which updates the weather:: python manage.py update_weather You would like to be able to run this command every hour so that you always have the latest weather information displayed on your site. Rather than having to edit your crontab, ``cronograph`` allows you to simply add this functionality via your admin. Installing Chronograph ====================== Installing ``chronograph`` is pretty simple. First add it into ``INSTALLED_APPS`` in your ``settings.py`` file. If you're running a version of Django older than revision 9739 (basically anything after 1.0 but before 1.1), then you'll need to add the following to your project's ``urls.py``:: url(r'^admin/chronograph/job/(?P<pk>\d+)/run/$', 'chronograph.views.job_run', name="admin_chronograph_job_run") After this run `syncdb``. The only thing left to do is set up a periodic call to run the jobs. If you're using `cron`, the following example can be added to your `crontab`:: * * * * * /path/to/your/project/manage.py cron You're done! Every minute ``cron`` will check to see if you have any pending jobs and if you do they'll be run. No more mucking about with your ``crontab``. If you have a more complicated setup where ``manange.py`` might not work by default see the section below on installing ``chronograph`` in a virtual environment. Using a Virtual Environment --------------------------- If you're using a virtual environment, setting up ``chronograph `` involves a bit more work, but not by much. Included is a script called ``chronograph.sh``. Copy this file to your project directory. You should open up this script and modify the path to your virtual environment's ``activate`` script:: $PROJECT_PATH"/../../../ve/bin/activate" Make sure that this file is executable and then update your ``crontab`` to execute the script. Running ``crontab -e ``:: * * * * * /path/to/your/project/chronograph.sh /path/to/your/project Make sure that you pass ``/path/to/your/project`` to the script as the first argument. This will ensure that ``cron`` will not have any problems finding your project directory. Using Chronograph ================= If you've completed the above steps, you're all done. Now you can add some jobs to the system. Remember, ``chronograph`` is designed to run any install ``django-admin`` management command and it accomodates command-line arguments as well.
About
Run commands at specified intervals. (Note, this is a fork)
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published