5.7.1. vlcp.utils.connector¶
Note
This document is generated from the source file.
Created on 2015/11/30
author: | hubo |
---|
Process events multi-threaded or multi-processed
-
class
vlcp.utils.connector.
Connector
(worker_start, matchers=(), scheduler=None, mp=True, inputlimit=0, allowcontrol=True)¶ -
__init__
(worker_start, matchers=(), scheduler=None, mp=True, inputlimit=0, allowcontrol=True)¶ Parameters: - worker_start – func(queuein, queueout), queuein is the input queue, queueout is the output queue. For queuein, each object is (event, matcher) tuple; For queueout, each object is a tuple of events to send. Every object in queuein must have a response in queueout.
- matcheres – match events to be processed by connector.
- scheduler – bind to specified scheduler
- mp – use multiprocessing if possible. For windows, multi-threading is always used.
- inputlimit – input queue size limit. 0 = infinite.
- allowcontrol – if True, the connector accepts ConnectorControlEvent for connector configuration.
-
main
()¶ The main routine method, should be rewritten to an async method
-
-
class
vlcp.utils.connector.
ConnectorControlEvent
(*args, **kwargs)¶
-
class
vlcp.utils.connector.
MoreResultEvent
(*args, **kwargs)¶
-
class
vlcp.utils.connector.
Resolver
(scheduler=None, poolsize=256)¶ -
__init__
(scheduler=None, poolsize=256)¶ Parameters: - worker_start – func(queuein, queueout), queuein is the input queue, queueout is the output queue. For queuein, each object is (event, matcher) tuple; For queueout, each object is a tuple of events to send. Every object in queuein must have a response in queueout.
- matcheres – match events to be processed by connector.
- scheduler – bind to specified scheduler
- mp – use multiprocessing if possible. For windows, multi-threading is always used.
- inputlimit – input queue size limit. 0 = infinite.
- allowcontrol – if True, the connector accepts ConnectorControlEvent for connector configuration.
-
-
class
vlcp.utils.connector.
TaskDoneEvent
(*args, **kwargs)¶
-
class
vlcp.utils.connector.
TaskEvent
(*args, **kwargs)¶
-
class
vlcp.utils.connector.
TaskPool
(scheduler=None, poolsize=64)¶ Thread pool for small tasks
-
__init__
(scheduler=None, poolsize=64)¶ Parameters: - worker_start – func(queuein, queueout), queuein is the input queue, queueout is the output queue. For queuein, each object is (event, matcher) tuple; For queueout, each object is a tuple of events to send. Every object in queuein must have a response in queueout.
- matcheres – match events to be processed by connector.
- scheduler – bind to specified scheduler
- mp – use multiprocessing if possible. For windows, multi-threading is always used.
- inputlimit – input queue size limit. 0 = infinite.
- allowcontrol – if True, the connector accepts ConnectorControlEvent for connector configuration.
-
runAsyncTask
(container, asynctask, newthread=True)¶ Run asynctask(sender) in task pool, call sender(events) to send customized events, return result
-
runGenTask
(container, gentask, newthread=True)¶ Run generator gentask() in task pool, yield customized events
-
runTask
(container, task, newthread=False)¶ Run task() in task pool. Raise an exception or return the return value
-
run_async_task
(container, asynctask, newthread=True)¶ Run asynctask(sender) in task pool, call sender(events) to send customized events, return result
-
run_gen_task
(container, gentask, newthread=True)¶ Run generator gentask() in task pool, yield customized events
-
run_task
(container, task, newthread=False)¶ Run task() in task pool. Raise an exception or return the return value
-