Skip to content

Latest commit

 

History

History
81 lines (62 loc) · 2.81 KB

README.md

File metadata and controls

81 lines (62 loc) · 2.81 KB

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 https://apis.guru/graphql-voyager/ 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