memphis.py icon indicating copy to clipboard operation
memphis.py copied to clipboard

Support destroying existing consumers

Open rnowling-memphis opened this issue 1 year ago • 0 comments

Currently, to destroy a consumer, you first have to create a consumer object.:

print("Create consumer")
consumer = await memphis.consumer(station_name=STATION,
                                  consumer_name="test-consumer-2",
                                  consumer_group="",
                                  start_consume_from_sequence=1)
await consumer.destroy()

This can be problematic if you don't have the original parameters. For example, if the start_consumer_from_sequence was 50, you'd get the following error:

memphis: consumer already exists with different uneditable configuration parameters (StartConsumeFromSequence/LastMessages)

It would useful to support deleting a consumer without having to first create it. Something like:

await memphis.destroy_consumer(station_name="station", consumer_name="consumer", consumer_group="group")

This would make it easier to support recovery and time travel (replaying messages) for streaming engines that expect to be able to own and set the starting sequence number.

rnowling-memphis avatar Jul 28 '23 15:07 rnowling-memphis