mirror of https://github.com/knative/docs.git
55 lines
1.4 KiB
JavaScript
55 lines
1.4 KiB
JavaScript
const { CloudEvent, HTTPEmitter } = require("cloudevents-sdk");
|
|
|
|
let sinkUrl = process.env['K_SINK'];
|
|
|
|
console.log("Sink URL is " + sinkUrl);
|
|
|
|
let emitter = new HTTPEmitter({
|
|
url: sinkUrl
|
|
});
|
|
|
|
let eventIndex = 0;
|
|
setInterval(function () {
|
|
console.log("Emitting event #" + ++eventIndex);
|
|
|
|
let myevent = new CloudEvent({
|
|
source: "urn:event:from:my-api/resource/123",
|
|
type: "your.event.source.type",
|
|
id: "your-event-id",
|
|
dataContentType: "application/json",
|
|
data: {"hello": "World " + eventIndex},
|
|
});
|
|
|
|
// Emit the event
|
|
emitter.send(myevent)
|
|
.then(response => {
|
|
// Treat the response
|
|
console.log("Event posted successfully");
|
|
console.log(response.data);
|
|
})
|
|
.catch(err => {
|
|
// Deal with errors
|
|
console.log("Error during event post");
|
|
console.error(err);
|
|
});
|
|
}, 1000);
|
|
|
|
registerGracefulExit();
|
|
|
|
function registerGracefulExit() {
|
|
let logExit = function () {
|
|
console.log("Exiting");
|
|
process.exit();
|
|
};
|
|
|
|
// handle graceful exit
|
|
//do something when app is closing
|
|
process.on('exit', logExit);
|
|
//catches ctrl+c event
|
|
process.on('SIGINT', logExit);
|
|
process.on('SIGTERM', logExit);
|
|
// catches "kill pid" (for example: nodemon restart)
|
|
process.on('SIGUSR1', logExit);
|
|
process.on('SIGUSR2', logExit);
|
|
}
|