Roundup Tracker - Issues

Message5744

Author rouilj
Recipients jlgijsbers, richard, rouilj, roysrapoport
Date 2016-07-04.19:56:50
Message-id <1467662211.3.0.73270834713.issue859291@psf.upfronthosting.co.za>
In-reply-to
I took a look through the code and I wonder if this would work:

  have reactors optionally return an array of tuples:
     (exception, message)

in hyperdb.py change:

   the call to:
     react(self.db, self, nodeid, oldvalues)
   to capture those tuples and store in:
   
   self.warning_exceptions[] where self is <hyperdb.Class "issue">
   
   that same object is created at cgi/actions.py::_editnodes
         before calling into rdbms_common (or back_anydbm I think)
	 
   it looks like _editnodes can add info that gets sent back to the user.

I am not sure if adding a new prop into the issue is advisable. Seems
like it could be a hack.

It looks like cgi/client.py is set up to handle a MessageError and
report that to the user as an error. However as Richard said raising
MessageError will stop any further reactors from firing.

Too bad there isn't a queuing mechanism for exceptions where they
could be shoved in a queue (along with an id indicating that function
added the exception). Then they could be processed asynchronously by a
handler in a calling function at a higher level in the stack.

Kind of a soft exception that doesn't force the callee to return
immediately. Which may be what what richard was hinting at.

Also to test this just set the port number for smtp server in
config.ini to an unused port. Then send a message that triggers the
nosyreactor reactor.
History
Date User Action Args
2016-07-04 19:56:51rouiljsetmessageid: <1467662211.3.0.73270834713.issue859291@psf.upfronthosting.co.za>
2016-07-04 19:56:51rouiljsetrecipients: + rouilj, richard, jlgijsbers, roysrapoport
2016-07-04 19:56:51rouiljlinkissue859291 messages
2016-07-04 19:56:50rouiljcreate