Update 7/14/17: Mixmax switched over to using Bee-Queue instead of Bull, but Arena continue to work for both.
Last week, we introduced our open-source UI for Bull queue, Arena. Today, we would like to share a piece of configuration magic that we use to automatically configure Arena without having to touch any configuration files or environment variables. This enables Arena to automatically discover new queues added in new Redis instances.
By default, Arena reads its configuration from a JSON file, which individually configures its internal mapping from Redis endpoints to Bull queues. At Mixmax, we use AWS extensively. In particular, we use ElastiCache to host our Redis instances and Elastic Beanstalk to host our Arena Bull monitoring service. Because of AWS's flexibility, all we need to do to look up our Redis endpoint URIs is add a single inline policy -- describeReplicationGroups
-- to an Elastic Beanstalk role.
Update 7/14/17: Mixmax switched over to using Bee-Queue instead of Bull, but Arena continue to work for both. Then, with a single AWS SDK call and some clever data mapping, we can pass an array of queues to Arena, running as a module for advanced configuration.
This allows any engineer at Mixmax to add a new Bull queue for any reason, and have that queue reflected in our Arena dashboard automatically. At Mixmax, we love to optimize for the workflows of our engineers. If you'd like to help build out our open-source tooling, drop us a line at careers@mixmax.com. |