python events non-blocking
Project description
BasicEvents
python basic events send non-blocking
Install
pip install basicevents
Link pypi: https://pypi.python.org/pypi/basicevents
Example
# recommeded check all examples
from basicevents import (subscribe, send_thread, send_queue,
send_blocking, add_subscribe, send, run)
@subscribe("pepito")
def example(*args, **kwargs):
print "recv signal, values:", args, kwargs
def example2(*args, **kwargs):
print "manual subscribe"
# manual subscribe
add_subscribe("pepito", example2)
# add to queue signals (non-blocking)
send("pepito", 1, 2, 3, example="added queue")
# add to queue signals (non-blocking)
send_queue("pepito", 1, 2, 3, example="added queue")
# create new thread for this request (non-blocking)
send_thread("pepito", 1, 2, 3, example="new thread")
# This is blocking
send_blocking("pepito", 1, 2, 3, example="blocking")
run()
send("STOP")
Documentation
Functions
@subscribe(name_event) With this decorator you can subscribe to all events that are sent to name_event.
manual subscribe add_subscribe(name_event, function)
added in queue (non-blocking)
send_queue(name_event, *args, **kwargs)
run in new thread (non-blocking)
send_thread(name_event, *args, **kwargs)
run blocking (blocking)
send_blocking(name_event, *args, **kwargs)
Note: Currently running in individual process.
Attributes events
events.subs
return:
{'juanito': [<function __main__.example2>],
'pepito': [<function __main__.example>]}
events.queue
return queue
queue is processed automatically and do not need to access this attribute, but if you want you can use https://docs.python.org/2/library/queue.html
events.timeout
return int
```
events.logger
return function
You can change the function that is executed when an exception occurs. Uses default print You can modify it if you wish.
from basicevents import events
events.logger = function
events.send
return function
You can change the function send (It is a link). default is events.send_queue
from basicevents import events
events.send = events.send_blocking # or other functions
these parameters are too, have documented above:
add_subscribe, send, send_queue, send_thread, send_blocking
CHANGELOG
2.0.12(2017-06-05)
revert task_done() (not exists in multiprocessing)
2.0.11(2017-06-05)
task_done()
2.0.10(2017-04-07)
graceful stop
2.0.9(2017-04-03)
Fix pip version
2.0.8(2017-03-31)
Fix default argument
2.0.7(2017-03-31)
Support waiting for stop loop
2.0.6(2016-10-20)
events to Events
correct shutdown
2.0.5(2016-10-20)
events to Events
2.0.4(2016-10-20)
Update document
Remove old code
2.0.3(2016-10-19)
PEP8
2.0.2(2016-09-28)
It lets you send messages from different processes. (Required to import of basicevents before starting the process)
2.0.1 (2016-07-06)
Fix tests
2.0.0 (2016-07-05)
Require call run() for init events loop
1.2.5 (2016-06-15)
Fix MANIFEST.in
1.2.4 (2015-10-15)
Fix support python 3
1.2.3 (2015-10-14)
Remove 3.2 support
Prepare travis
1.2.2 (2015-10-14)
Fix readme
1.2.1 (2015-10-14)
Remove bad examples
Update readme
1.2.0 (2015-09-22)
You can change the method that executes when an exception occurs
Remove deprecated functions
Send internally calls send_queue
Official support python 3.5.0
Permit change default send
1.1.3 (2015-08-14)
Fix bug in add_subcribe
1.1.1 (2015-08-14)
Try fix changelog in pypi
1.1.0 (2015-08-14)
Refactor code
Added new functions: send_queue, send_thread, send_blocking, add_subscribe
1.0.2 (2015-08-14)
increase performance function send (19%+)
increase performance subscribe (2%+)
1.0.1 (2015-08-13)
fix pip install basicevents
1.0.0 (2015-08-13)
Now you can run blocker way events
break compatibility function send (check documentation)
0.1.5 (2015-08-12)
update documentation
0.1.4 (2015-08-12)
update documentation
remove instant key in kwargs
0.1.3 (2015-08-12)
Added changelog
Auto convert md to rst in setup.py
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file basicevents-2.0.13.tar.gz
.
File metadata
- Download URL: basicevents-2.0.13.tar.gz
- Upload date:
- Size: 4.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4cb720a6781ee499b3ab34c754fc3a90f9a69f190561d7020310a2a0b8b628e |
|
MD5 | 9dd889ebf0761ac7a846ae2d4567d55d |
|
BLAKE2b-256 | 9e1c8e8d7278eac8a2b81d9c32668f4906d9acd8700701aa5f2e2515d4499e95 |