1.1.1 • Published 1 year ago
@djpfs/kafka-adonisjs v1.1.1
npm i @djpfs/kafka-adonisjs
node ace configure @djpfs/kafka-adonisjs
Edit the .env
file to match your Kafka configuration.
Edit the config/kafka.js
file to edit the default configuration.
// file: start/kafka.js
import Kafka from '@ioc:Message/Kafka'
Kafka.admin.listTopics().then((topics: any[]) => {
console.log('topics', topics);
});
// file: start/kafka.js
import Kafka from '@ioc:Message/Kafka'
Kafka.admin.createTopics({
topics: [
{
topic: 'messages',
numPartitions: 1,
replicationFactor: 1,
},
],
waitForLeaders: true,
}).then((result: any) => {
console.log('result', result);
});
Kafka.on('messages', (data: any, commit: any) => { console.log(data) // commit(false) // For error transaction commit() // For successful transaction });
<h3>Create Producer</h3>
Create your producer in `app/Controllers/Http` for exemple, or in any other place. Ex:
```js
import Kafka from "@ioc:Message/Kafka";
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext'
export default class UserController {
public async show({ params }: HttpContextContract) {
return Kafka.send('messages', { user_id: params.id })
}
}
import Kafka from '@ioc:Message/Kafka'
Kafka.admin.describeCluster().then((result: any) => {
console.log('result', result);
});
Demo
You can find a demo project here.
Based on
1.1.1
1 year ago
1.1.0
1 year ago
1.0.5
1 year ago
1.0.5-0
1 year ago
1.0.4
1 year ago
1.0.3
1 year ago
1.0.2
1 year ago
1.0.1
1 year ago
0.1.3
1 year ago
0.1.1
1 year ago
0.1.0
1 year ago
0.0.7
1 year ago
0.0.7-0
1 year ago
0.0.6
1 year ago
0.0.5
1 year ago
0.0.4
1 year ago
0.0.3
1 year ago
0.0.2
1 year ago
3.0.0
1 year ago
2.0.0
1 year ago
1.0.0
1 year ago