Page MenuHomePhorge

Python smtpd library can now log debug information to pykolab log stream (debug level 9)
Needs ReviewPublic

Authored by adomaitis on Jun 5 2019, 11:07 AM.
Tags
None
Referenced Files
F11588124: D761.diff
Thu, Mar 28, 7:21 PM
Unknown Object (File)
Mon, Mar 25, 2:59 AM
Unknown Object (File)
Sun, Mar 24, 6:12 PM
Unknown Object (File)
Sat, Mar 16, 3:02 PM
Unknown Object (File)
Feb 13 2024, 5:14 PM
Unknown Object (File)
Feb 2 2024, 1:39 AM
Unknown Object (File)
Jan 28 2024, 11:47 AM
Unknown Object (File)
Jan 19 2024, 12:11 AM
Subscribers
None

Details

Summary

disable E221 lint check

Do not log some python smtpd channel messages when debug level 9 is enabled

Multiprocessing debug logging support, new wallace cmd parameter, more logging

Turns out python multiprocessing module can end up in a deadlock situation and wallace accepts messages, but does not start processing them. The real reason of deadlock is not yet known, but the solution is to have more processes started and allow each process to do more job (process more messages) before it is closed and new process added to the pool. That way there is a less chance of deadlock to happen. That is way new cmd parameter --threads is introduced.

Diff Detail

Repository
rP pykolab
Branch
Wallace_New
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 24740
Build 9614: arc lint + arc unit

Event Timeline

adomaitis created this revision.

It looks good, but I don't really know it does what it looks like it should be doing ;)

pykolab/logger.py
52

Will that not match e.g. "send something" line? I mean w/o the colon.

pykolab/logger.py
52

Third party python libs logs everything to stderr. To catch that we need a file type object which should redirect everything to pykolab logger. For some reason some libraries produce duplicated log messages. That makes reading logs confusing. The idea here is to filter out duplicated messages. So yes, "send something" should be caught, but as this is applied to log records going to stderr it should not filter anything produced by pykolab.logger .