graphql-compose-bullmq

This is a plugin for `graphql-compose`, which generates GraphQLTypes for BullMQ.

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
graphql-compose-bullmq
10271.21.06 months ago4 years agoMinified + gzip package size for graphql-compose-bullmq in KB

Readme

graphql-compose-bullmq
npm trends travis build Fully automated version management and package publishing
This is a plugin for graphql-compose, which generates GraphQLTypes for bullmq.

Installation

npm install graphql graphql-compose bullmq graphql-compose-bullmq --save

Modules graphql, graphql-compose, bullmq are in peerDependencies, so should be installed explicitly in your app. They have global objects and should not have ability to be installed as submodule.

Example

import { composeBull } from 'graphql-compose-bullmq';
import { schemaComposer } from 'graphql-compose';

const { queryFields, mutationFields } = composeBull({
  schemaComposer,
  typePrefix: 'Prefix',
  jobDataTC: `type MyJobData { fieldA: String! fieldB: String}`,
  queue: {
    name: 'fetch_metrics',
    prefix: 'bull.demo',
  },
  redis: 'redis://127.0.0.1:6379',
});

schemaComposer.Query.addFields({
  ...queryFields,
  // Will provide the following fields:
  //   queueKeys
  //   queues
  //   queue
  //   job
});

schemaComposer.Mutation.addFields({
  ...mutationFields,
  // Will provide the following fields:
  //   queueClean
  //   queueDrain
  //   queuePause
  //   queueResume
  //   queueRemoveRepeatable
  //   jobAdd
  //   jobAddBulk
  //   jobAddRepeatableCron
  //   jobAddRepeatableEvery
  //   jobDiscard
  //   jobPromote
  //   jobRemove
  //   jobRetry
  //   jobUpdate
  //   jobLogAdd
});

const schema = schemaComposer.buildSchema();

Schema

composeBull will generate particles for your further schema. It contains more than 40 types wich helps to you work with Bull Queues. You may see generated files in schema.graphql file. It can be visialized with in the following manner:

Queries

Screen Shot 2020-04-14 at 21 22 38

Mutations

Screen Shot 2020-04-14 at 21 24 05

License

MIT