Switch to side-by-side view

--- a/Allura/allura/command/reactor.py
+++ b/Allura/allura/command/reactor.py
@@ -1,17 +1,21 @@
 import sys
 import time
 import json
-import string
 from pprint import pformat
 from multiprocessing import Process
-from weberror.errormiddleware import handle_exception
+import logging
 
 import ming
 import pylons
 from bson import ObjectId
 from carrot.messaging import Consumer, ConsumerSet
-
+from weberror.errormiddleware import handle_exception
+
+from allura.lib.custom_middleware import MagicalC, environ
 from . import base
+
+
+log = logging.getLogger(__name__)
 
 class RestartableProcess(object):
 
@@ -161,6 +165,11 @@
         def callback(data, msg):
             msg.ack()
             try:
+                # reset pylons.c
+                pylons.c._pop_object()
+                environ.set_environment({})
+                pylons.c._push_object(MagicalC(base.EmptyClass(), environ))
+                
                 __traceback_supplement__ = (
                     self.Supplement, pylons.c, data, msg, 'audit')
                 if 'project_id' in data:
@@ -213,6 +222,11 @@
         def callback(data, msg):
             msg.ack()
             try:
+                # reset pylons.c
+                pylons.c._pop_object()
+                environ.set_environment({})
+                pylons.c._push_object(MagicalC(base.EmptyClass(), environ))
+
                 __traceback_supplement__ = (
                     self.Supplement, pylons.c, data, msg, 'react')
                 # log.info('React(%s): %s', msg.delivery_info['routing_key'], data)