{"repo":"etf1/kafka-message-scheduler","free":true,"listed":false,"github":"https://github.com/etf1/kafka-message-scheduler","clone":"git clone https://github.com/etf1/kafka-message-scheduler.git","description":"scheduler for kafka messages","language":"Go","stars":90,"topics":["go","golang","kafka","scheduler-job","scheduler-library","scheduler-service","workflow-engine","workflows"],"license":"MIT","category":"workflow-automation","readme_excerpt":"Kafka message scheduler Kafka message scheduler allows you to send message to a target topic on a specific time with a particular payload. Why ? You always need to trigger events to do something and when you are using kafka in your company for data processing, you want to trigger this processing based on kafka message. Use cases For example, on the TF1 website, videos are set online on a given date and set offline on another date. We are using kafka consumers on specific topic to perform this activation/deactivation. Another use case is retriable actions. For example when you are using messages of a topic for performing action to an external API. This service can be down temporarily. So in this case failed messages can be rescheduled for a retry by the scheduler. Of course you have to make sure of idempotence, based on the original timestamp. You can also imagine to use the scheduler to delete inactive user, each time a user logins you schedule an event with a date now + 1year. And if the user didn't login for a long time the scheduled message will be triggered and the user can be deleted by a specific consumer. A lot of use cases can be found... it depends on your imagination ;) How does it work ? Kafka message scheduler is simply using kafka topics. These topics contains all the schedules to trigger. These messages are regular kafka messages with headers and a payload. But it should contains specific headers: scheduler-epoch: the date of the schedule in epoch (number of sec","default_branch":null,"files":null,"tree":[],"storefront":"/r/etf1","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/etf1/kafka-message-scheduler/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}