Skip to content

Instantly share code, notes, and snippets.

View Mcdavid95's full-sized avatar
🥘
Really always hungry

Mcdavid Emereuwa Mcdavid95

🥘
Really always hungry
  • emax digital
  • Lagos, Nigeria
View GitHub Profile
name=mongo-source
connector.class=com.mongodb.kafka.connect.MongoSourceConnector
tasks.max=1
# Connection and source configuration
connection.uri=mongodb+srv://dbUser:dbUserPassword@cluster0-jj6uu.mongodb.net/test?retryWrites=true&w=majority
database=sample_airbnb
collection=
topic.prefix=mongo
name=mongo-sink
topics=mongo.sample_airbnb.listingsAndReviews
connector.class=com.mongodb.kafka.connect.MongoSinkConnector
tasks.max=1
# Message types
key.converter=org.apache.kafka.connect.json.JsonConverter
key.converter.schemas.enable=true
value.converter=org.apache.kafka.connect.json.JsonConverter
@Mcdavid95
Mcdavid95 / index.js
Last active May 23, 2020 16:00
change stream index.js
const {MongoClient} = require('mongodb');
async function listDatabases(client){
databasesList = await client.db().admin().listDatabases();
console.log("Databases:");
databasesList.databases.forEach(db => console.log(` - ${db.name}`));
};
function closeChangeStream(timeInMs = 60000, changeStream) {
/**
* This script can be used to create, update, and delete sample data.
* This script is especially helpful when testing change streams.
*/
const { MongoClient } = require('mongodb');
async function main() {
/**
* Connection URI. Update <username>, <password>, and <your-cluster-url> to reflect your cluster.
* See http://bit.ly/NodeDocs_lauren for more details
/**
* This script can be used to create, update, and delete sample data.
* This script is especially helpful when testing change streams.
*/
const { MongoClient } = require('mongodb');
async function main() {
/**
* Connection URI. Update <username>, <password>, and <your-cluster-url> to reflect your cluster.
* See http://bit.ly/NodeDocs_lauren for more details
const calculateDaysAndFactor = (data) => {
let days, factor;
switch (data.periodType) {
case 'days':
days = data.timeToElapse;
factor = 2 ** Math.trunc(data.timeToElapse / 3);
case 'weeks':
days = data.timeToElapse * 7;
factor = 2 ** Math.trunc(days / 3);
default:
module.exports = {
apps: [
{
name: 'API',
script: 'src/index.js',
exec_mode: 'cluster_mode',
instances: 'max',
env: {
NODE_ENV: 'production'
}
@Mcdavid95
Mcdavid95 / index-1.js
Last active March 12, 2020 08:05
SES RabbitMQ Tutorial
//const express = require('express');
// import publicMessage from Email service
const { publishMessage } = require('./emailWorker')
// .........................
// ...app.get
/**
* @post sensend email
*/
app.post('/email', (req, res) => {
@Mcdavid95
Mcdavid95 / emailWorker.js
Created February 27, 2020 18:42
SES RabbitMQ Tutorial
const dotenv = require('dotenv');
const EmailService = require('./email.service');
dotenv.config();
const queue = 'email-task';
const open = require('amqplib').connect(process.env.AMQP_SERVER);
// Publisher
const AWS = require('aws-sdk');
const awsConfig = require('./awsConfig');
AWS.config.update({
accessKeyId: awsConfig.key,
secretAccessKey: awsConfig.secret,
region: awsConfig.ses.region
});
const ses = new AWS.SES({ apiVersion: '2010-12-01' });