Mercurial > public > sg101
changeset 518:5171a5e9353b
For #194, add a celery task for purging deleted private messages.
author | Brian Neal <bgneal@gmail.com> |
---|---|
date | Fri, 16 Dec 2011 01:17:35 +0000 |
parents | 666147a2cc08 |
children | f72ace06658a |
files | gpp/core/tasks.py gpp/messages/management/commands/purge_messages.py gpp/messages/tasks.py gpp/settings/base.py |
diffstat | 4 files changed, 27 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/gpp/core/tasks.py Thu Dec 15 02:49:16 2011 +0000 +++ b/gpp/core/tasks.py Fri Dec 16 01:17:35 2011 +0000 @@ -31,8 +31,13 @@ A task to perform site-wide cleanup actions. """ + # These imports, when placed at the top of the module, caused all kinds of + # import problems when running on the production server (Python 2.5 and + # mod_wsgi). Moving them here worked around that problem. + from django.core.management.commands.cleanup import Command as CleanupCommand from forums.management.commands.forum_cleanup import Command as ForumCleanup + # Execute Django's cleanup command (deletes old sessions). command = CleanupCommand()
--- a/gpp/messages/management/commands/purge_messages.py Thu Dec 15 02:49:16 2011 +0000 +++ b/gpp/messages/management/commands/purge_messages.py Fri Dec 16 01:17:35 2011 +0000 @@ -1,5 +1,5 @@ """ -purge_messages is a custom manage.py command for the messages application. +purge_messages is a custom manage.py command for the messages application. It is intended to be called from a cron job to purge messages that have been deleted by both sender and receiver. """ @@ -16,5 +16,3 @@ Message.objects.filter(sender_delete_date__isnull=False, receiver_delete_date__isnull=False).delete() - -# vim: ts=4 sw=4
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gpp/messages/tasks.py Fri Dec 16 01:17:35 2011 +0000 @@ -0,0 +1,17 @@ +""" +Celery tasks for the messages application. + +""" +from celery.task import task + + +@task +def purge_messages(): + """ + Task to purge messages that have been deleted by both sender & receiver. + + """ + from messages.management.commands.purge_messages import Command + + command = Command() + command.execute()
--- a/gpp/settings/base.py Thu Dec 15 02:49:16 2011 +0000 +++ b/gpp/settings/base.py Fri Dec 16 01:17:35 2011 +0000 @@ -224,6 +224,10 @@ "task": "core.tasks.cleanup", "schedule": crontab(minute=0, hour=1), }, + "purge messages": { + "task": "messages.tasks.purge_messages", + "schedule": crontab(minute=30, hour=1, day_of_week='sunday'), + } } #######################################################################