- Broadcast
time_created
for servers - Create thread that always looks for older server to join
- Create thread that checks if Connector is connected
- Fire up Connector initialization on Disconnect
- Fire up Server initialization if server disappeared and
create: needed
- Create a default configuration to launch with Service Discovery
- Make
init
return what was finally initialized - Make
init
accept parameters ofrequired
connectors - failing if they cannot get initialized - Make a
run_forever
function, avoidwhile True
looping aftereventhive.init
- Make
hook
alsoappend
events in case they are not created - Create a
register(event, function)
function to assign any event to any function - Create a response system to
eventhive.EVENTS.call
- Create a way to not receive Events sent by the same process
- RabbitMQ PubSub
- AWS SNS
- Google PubSub
- Kafka
- Split Signing and Encryption functionality
- Add signing to broadcast - if
secret
is set in server - Create a way to reject replayed messages (using the Event UUIDs with an LRU cache?)
- Use
marshal
/pickle
to values that are not JSON serializable - Only allow the above if
secret
is set, for Security Reasons (RCE if plaintext)
- Create smaller examples
- Create RTFD page
- Create an example using render.com Free plan's Redis
- Create a threaded producer/consumer model (a queue?) for events going to
publish
(insend_to_pubsub
), so they are not lost if Connector doesn't work (publish
fails) - Properly use
async
wherever needed/supported by libraries