graphql-compose-bullmq
v1.21.0
Published
This is a plugin for `graphql-compose`, which generates GraphQLTypes for BullMQ.
Maintainers
Readme
graphql-compose-bullmq
This is a plugin for graphql-compose, which generates GraphQLTypes for bullmq.
Installation
npm install graphql graphql-compose bullmq graphql-compose-bullmq --saveModules 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:
