-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO
37 lines (22 loc) · 1.38 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
TODO
How can one handler get multiple topics. Instance per topic sharing a local database?
Register two instances of same handler class, one per topic, but they share a local database.
How does handler know which of the two topics a message is from, does it need to know the topic as well as the payload?
How to reset offset for a consumer?
- split app.rb in to env.rb and start.rb so you can load the app without starting and thus
get access to the consumers via Irb. Also need to have a Consumers collection class:
app.consumers['an_id'].offset = 0
Need a way for app to restart consumers which have been stopped. This could be done with a signal.
Refactors:
testing? method in consumer could be replaced with a after_hook which is a block
instance eval'd. The tests can have the block call stop. `run_after_batch_hook`.
Lower priority:
consumer include which gives them local state
consumer include which gives them access to publish events to Kafka
Persistant storage for offsets - MySQL - maybe using MySQL2 gem or Sequel gem.
Ability to configure a block to wrap handler.call and store_offset (allowing them to be
in a transaction), e.g. config.wrapper = lambda { Sequel.transaction { yield } }
Something to convert a Ruby hash in to a Avro schema? More producer end.
New project - wrapper around Axe to make building an app easier.
Pull demonization in to App
Have app store its pid in a file