use server time as time-series score
random server id to avoid conflict
LUA script to enforce event sourcing

1. use redis server time to make sure time synced
2. the score(timestamp) of a pk can only be incremented
pretty timestamp logging
add timestamp kwarg to signal send func
handle exception