...that is to say, it is something that should be capable of being on a different server...
On Wed, Nov 12, 2008 at 12:04 PM, Yarko T <[EMAIL PROTECTED]> wrote: > this: decoupling from web2py is critical if it is to be useful. > Further, it is something that should be thought of as being decoupled from, > on a different server. > > > On Wed, Nov 12, 2008 at 11:45 AM, mdipierro <[EMAIL PROTECTED]>wrote: > >> >> Mark, >> >> please talk to Tim. We just included (1.48) his patch for >> "routes_onerror". I believe what you are proposing has a lot of >> superposition with what he proposed and can handled already by the >> current version of web2py. >> >> Mind that sending emails on error has one problem... what if the >> function that sends the email causes an error? Do you go in one loop >> and send hundreds of emails? I have seen this last week when I got 850 >> email in 10 minutes (it was not a web2py app). >> >> I think there should be a daemon that monitors tickets (from database >> or filesystem) and is in charge of sending emails. This must be >> decoupled from web2py actions. >> >> Massimo >> >> On Nov 12, 11:39 am, Mark Larsen <[EMAIL PROTECTED]> wrote: >> > web2py users, >> > >> > web2pys default mechanism for exception handling works great in >> > development but when shifted into production I'd rather have the >> > application email on exception and display a sorry message to the >> > user. I'm proposing a new file in the root of web2py >> > "customexception.py", If this file does not exist (or if it returns >> > None or False) web2py's default exception mechanism is used. If it >> > does exist and returns a str then the code within is executed. >> > >> > I've coded this up quickly in the last hour or so. I pass the >> > following environment to be executed in "customexception.py" >> > >> > environment={'layer':str(self.layer), >> > 'code':str(self.code), >> > 'output':str(self.output), >> > 'traceback':str(self.traceback), >> > 'application': request.application, >> > 'rv': None} >> > >> > where >> > >> > layer => path to executing code >> > code => block of code that exec was called on >> > output => string output, not sure how to use this, maybe rv is >> > redundant? >> > traceback => exception traceback >> > application => application being executed >> > rv => return value for this handler, set to None or False to do >> > nothing >> > set to string for text to display to user >> > >> > within your file you set rv to a string to display to the user, set it >> > to None or False to have web2pys default mechanism used. >> > >> > An example of a "customexception.py" file would be: >> > >> > [code] >> > ''' >> > Author: Mark Larsen >> > Date: 11/12/08 >> > Method to handle custom exceptions >> > >> > If this file exists and rv evaluates true web2py will use this >> > to handle exceptions instead of built-in method >> > >> > I mainly want this to send me emails in a production environment. >> > >> > variables passed in are >> > layer => path to executing code >> > code => block of code that exec was called on >> > output => string output >> > traceback => exception traceback >> > application => application being executed >> > rv => return value for this handler, set to None or False to do >> > nothing >> > set to string for text to display to user >> > ''' >> > >> > import smtplib >> > >> > smtpserver = 'localhost' ## assumes smtp server on localhost, i use >> > sendmail >> > toaddrs = ['[EMAIL PROTECTED]'] >> > fromaddr = '[EMAIL PROTECTED]' >> > subject = 'Unhandled Exception in %s application' % application >> > >> > msg = ("From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n" % (fromaddr, ", >> > ".join(toaddrs), subject)) >> > >> > msg+="An error has occured in %s \n\n" % layer >> > msg+=traceback >> > msg+="\n\nIn code block: \n\n" >> > msg+=code >> > >> > server = smtplib.SMTP(smtpserver) >> > server.sendmail(fromaddr,toaddrs,msg) >> > server.quit() >> > >> > rv = "Unfortunately a serious error has occurred." >> > >> > [/code] >> > >> > Anyone interested in something like this? >> > >> > Thanks, >> > >> > Mark >> >> >> > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---