
Security News
Django Joins curl in Pushing Back on AI Slop Security Reports
Django has updated its security policies to reject AI-generated vulnerability reports that include fabricated or unverifiable content.
agc-pipeline-node
Advanced tools
Library provides pipeline element infrastructure for a cradle data pipeline
Library provides pipeline element infrastructure for a cradle data pipeline
The pipeline component designed to provide a RabbitMQ subscriber and publisher ecosystem around a transform()
function and should simplify implementation of future Cradle components.
npm i --save agc-pipeline-node
// my-transform.ts
import { Action, IMessage, IResult } from 'agc-pipeline-node';
export default function(input: IMessage): IResult {
const counter = input.data.counter; // Simple transform function that increments a counter
return {
action: Action.Forward,
target: '', // can specify an exchange topic name
message: {
kind: 'myKind',
data: {
counter: counter + 1
}
}
};
}
// start.ts
/**
* Sub command to start a pipeline element with my-transform function
*/
import configProvider from '@vamship/config';
import loggerProvider from '@vamship/logger';
import { PipelineElement } from 'agc-pipeline-node';
import transform from '../lib/my-transform';
export const command = 'start';
export const describe = 'Run Pipeline Transform';
export const builder = {};
export const handler = (argv) => {
const config = configProvider.getConfig();
const logger = loggerProvider.getLogger('command:start');
logger.trace('config', { config });
const pipelineElement = new PipelineElement(transform, config);
return pipelineElement.start();
};
// .myProjectNamerc
{
"default": {
"app": {},
"log": {
"level": "trace",
"extremeLogging": false
},
"subscriber": {
"hostname": "localhost",
"port": "5672",
"username": "user",
"password": "password",
"exchangeName": "inputExchange",
"exchangeType": "topic",
"isExchangeDurable": "true",
"topicName": "myTopic",
"queueName": "inputQueue",
"isQueueDurable": "true",
"isQueueExclusive": "false"
},
"publisher": {
"hostname": "localhost",
"port": "5672",
"username": "user",
"password": "password",
"exchangeName": "outputExchange",
"exchangeType": "topic",
"isExchangeDurable": "true",
"queueName": "outputQueue",
"isQueueDurable": "true",
"isQueueExclusive": "false"
}
},
"development": {
"app": {}
},
"test": {
"app": {}
},
"production": {
"app": { },
"log": {
"level": "info",
"extremeLogging": true
}
}
}
Use Docker to spin up a RabbitMQ container:
docker run -d -p 5672:5672 -p 15672:15672 --rm --hostname my-rabbit --name some-rabbit rabbitmq:3-management
Launch your CLI application:
./working/src/bin/my-project.js start 2>&1
Open RabbitMQ management console in a web browser:
http://localhost:15672
User: guest
. Password: guest
.
Use the management console to send a message input the input exchange and to receive the message on the output exchange.
Tip: you can find the rabbit connection again using the
docker ps
To ensure that your code works fine you will need to test it against running RabbitMQ instance.
API documentation can be found here.
FAQs
Library provides pipeline element infrastructure for a cradle data pipeline
The npm package agc-pipeline-node receives a total of 5 weekly downloads. As such, agc-pipeline-node popularity was classified as not popular.
We found that agc-pipeline-node demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Django has updated its security policies to reject AI-generated vulnerability reports that include fabricated or unverifiable content.
Security News
ECMAScript 2025 introduces Iterator Helpers, Set methods, JSON modules, and more in its latest spec update approved by Ecma in June 2025.
Security News
A new Node.js homepage button linking to paid support for EOL versions has sparked a heated discussion among contributors and the wider community.