1.1.1 • Published 1 year ago

@djpfs/kafka-adonisjs v1.1.1

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago
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