UNPKG

samsara-queue

Version:

The job worker/publisher base on google/pubsub. It might be crawler job worker or export data worker, mail sender...etc.

36 lines (29 loc) 1.26 kB
require('dotenv').config(); /** * Module dependencies */ const fs = require('fs'); const randomize = require('randomatic'); // Automatic generate a topic suffix when the specific suffix not exists. const hasPubsubTopicSuffixEnv = !!process.env.GOOGLE_PUBSUB_TOPIC_SUFFIX; if (!hasPubsubTopicSuffixEnv) { const topicSuffix = `${randomize('Aa', 1)}${randomize('Aa0', 9)}-${randomize('Aa0', 4)}`; fs.appendFileSync('.env', `\nGOOGLE_PUBSUB_TOPIC_SUFFIX=${topicSuffix}`); // Prepare the topic name suffix. process.env.GOOGLE_PUBSUB_TOPIC_SUFFIX = topicSuffix; } const hasPubsubSubscriptionNameEnv = !!process.env.GOOGLE_PUBSUB_SUBSCRIPTION_NAME; if (!hasPubsubSubscriptionNameEnv) { const subcriptionName = `${randomize('Aa', 1)}${randomize('Aa0', 9)}-${randomize('Aa0', 4)}`; fs.appendFileSync('.env', `\nGOOGLE_PUBSUB_SUBSCRIPTION_NAME=${subcriptionName}`); // Prepare the topic name suffix. process.env.GOOGLE_PUBSUB_SUBSCRIPTION_NAME = subcriptionName; } module.exports = { credentials: { client_email: process.env.GOOGLE_CREDENTIAL_CLIENT_EMAIL, private_key: process.env.GOOGLE_CREDENTIAL_PRIVATE_KEY, }, topicSuffix: process.env.GOOGLE_PUBSUB_TOPIC_SUFFIX, subscriptionName: process.env.GOOGLE_PUBSUB_SUBSCRIPTION_NAME, };