def __init__(self, settings=None, hooks=None, *args, **kwargs):
"""
Initialize the NNTPManager() based on the provided settings.
it is presumed settings is a loaded NNTPSettings() object.
"""
# A connection pool of NNTPConnections
self._pool = []
# A mapping of active worker threads
self._workers = []
# Keep track of the workers available for processing
# we will use this value to determine if we need to spin
# up another process or not.
self._work_tracker = WorkTracker()
# Queue Control
self._work_queue = Queue()
# Map signal
gevent.signal(signal.SIGQUIT, gevent.kill)
# Define our hooks (if any)
self.hooks = HookManager()
if hooks:
self.hooks.add(hooks=hooks)
if settings is None:
# Use defaults
settings = NNTPSettings()
if not len(settings.nntp_servers):
logger.warning("There were no NNTP Servers defined to load.")
raise AttributeError('No NNTP Servers Defined')
# Store our defined settings
self._settings = settings
return
评论列表
文章目录