Neato Polyester Material

    @5app/region-sync

    1.0.2 • Public • Published

    region sync

    Known Vulnerabilities CircleCI

    Wraps SNS/SQS with some boilerplate logic we use for syncing data between regions:

    SNS+SQS:

    1. structure all messages with date, fromRegion and JSON encoded payload.

    SQS:

    1. prevents handlers being called if source + dest regions are the same
    2. deletes messages after handler has handled (if successful)
    3. sets up the continuous long poll

    SQS usage:

    const {createHandler} = require('@5app/region-sync');
    const queueUrl = 'http://localhost:4576/000000000000/fooq';
    const handler = createHandler({
    	backoffSeconds: 4,
    	longPollSeconds: 1,
    	currentRegion: 'us-east-1',
    });
    
    handler.addQueueHandler(queueUrl, async function (msg) {
    	// handle it, but if promise rejects, the message wont be removed.
    });

    SNS usage:

    const {createPublisher} = require('@5app/region-sync');
    const payload = {foo: 'bar'};
    const publisher = createPublisher({
    	currentRegion: 'us-east-1',
    	snsRegion: 'us-east-1',
    });
    await publisher.publish(topicArn, payload);

    testing

    LOGS_LEVEL=info npm test
    

    Install

    npm i @5app/region-sync

    DownloadsWeekly Downloads

    7

    Version

    1.0.2

    License

    ISC

    Unpacked Size

    8.76 kB

    Total Files

    6

    Last publish

    Collaborators

    • 5app-bot
    • charles5app
    • ikhemissi
    • diondiondion
    • adodson