Yelp / pyleus

Pyleus is a Python framework for developing and launching Storm topologies.
Apache License 2.0
404 stars 113 forks source link

Bolt and SimpleBolt responsibilities discussion #82

Open poros opened 9 years ago

poros commented 9 years ago

How pointed out in https://github.com/Yelp/pyleus/pull/76, we may need to reconsider which behaviors we want to implement in Bolt and SimpleBolt and even whether having a SimpleBolt class makes sense or not.

These changes may be not backward-compatible, but I am personally not too concerned about this, since we are still in beta. However, avoiding this entirely would be even better :)

Here the list of behaviors https://github.com/apache/storm/blob/master/storm-core/src/multilang/py/storm.py implements:

We also want to add to this list our process_tick().

It's also worth mentioning how our Streamparse cousins have tackled the problem (class variables): https://github.com/Parsely/streamparse/blob/master/streamparse/bolt.py#L43

With this post I just wanted to detail the current situation, not my own biased ideas. Feel free to comment.