Skip to content
This repository has been archived by the owner on Nov 2, 2020. It is now read-only.

eventzimmer/aggregator

Repository files navigation

eventzimmer aggregator

Build Status

Overview

Aggregator is an aggregation server on top of the bull library.

A high level overview of the queues can be found in the diagram below:

aggregator process

To aggregate info we use puppeteer and request.

Getting started

To get a local version of aggregator you will need two things:

  • a working setup of schema
  • a Redis server. I use docker run -it --rm -p 6379:6378 redis and it works like a charm

Once everything is in order, run:

git clone https://github.com/eventzimmer/aggregator.git
cd aggregator
npm install
CLIENT_ID=yourauth0id CLIENT_SECRET=yourauth0secret node worker.js # you can use the --inspect flag for remote debugging

This will fire up a aggregator instance. The commands in cli can be used to add new tasks to the queue, which is indeed helpful for debugging.

Configuration

Using below environment variables aggregator can be configured:

environment variable description default
REDIS_URL Where to find redis redis://localhost:6379/1
ENDPOINT_URL Where to find the eventzimmer API http://localhost:3000
AUTH_ENDPOINT Where to obtain auth tokens https://eventzimmer-staging.eu.auth0.com/oauth/token
CLIENT_ID The client ID to use for JWT auth hZxa9p8DN77eAlx5ZDAwH7EuRsvAGXRJ
CLIENT_SECRET The client secret to use for JWT auth wLujykWeQBLTDanebhDlMsjyMj6O91BTMbbADPQWbk0hdkeQ3H9DyZ2u7t2FgFJQ
HTTP_PROXY Whether to use a http proxy for Facebook aggregation -
HTTPS_PROXY Whether to use a https proxy for Facebook aggregation -