Something like this in your crontab should work:
 
       # m h  dom mon dow   command
-      PYTHONPATH=.
-      DJANGO_SETTINGS_MODULE=patchwork.settings.production
-      */10 * * * * cd patchwork; python patchwork/bin/patchwork-cron.py
+      */10 * * * * cd patchwork; ./manage.py cron
 
 
     - the frequency should be the same as the NOTIFICATION_DELAY_MINUTES
 
+== Cron script changes ==
+
+The patchwork cron script has been moved to a manage.py command. Instead
+of running patchwork-cron.py, run:
+
+  ./manage.py cron
+
 == Upgrading to 3b8a61c ==
 
 Recent commits have changed a few admin-visible components of patchwork, so
 
+++ /dev/null
-#!/usr/bin/env python
-
-import sys
-from patchwork.utils import send_notifications, do_expiry
-
-def main(args):
-    errors = send_notifications()
-    for (recipient, error) in errors:
-        print "Failed sending to %s: %s" % (recipient.email, ex)
-
-    do_expiry()
-
-if __name__ == '__main__':
-    sys.exit(main(sys.argv))
-
 
--- /dev/null
+#!/usr/bin/env python
+
+from django.core.management.base import BaseCommand, CommandError
+from patchwork.utils import send_notifications, do_expiry
+
+class Command(BaseCommand):
+    help = ('Run periodic patchwork functions: send notifications and ' 
+            'expire unused users')
+
+    def handle(self, *args, **kwargs):
+        errors = send_notifications()
+        for (recipient, error) in errors:
+            self.stderr.write("Failed sending to %s: %s" %
+                                (recipient.email, ex))
+
+        do_expiry()
+
+if __name__ == '__main__':
+    sys.exit(main(sys.argv))
+