{"id":28438108,"url":"https://github.com/parse-community/parse-server-sqs-mq-adapter","last_synced_at":"2026-01-31T17:12:02.011Z","repository":{"id":37271482,"uuid":"78140427","full_name":"parse-community/parse-server-sqs-mq-adapter","owner":"parse-community","description":"Spread work queue accross cluster of parse servers using SQS","archived":false,"fork":false,"pushed_at":"2026-01-20T14:56:04.000Z","size":2768,"stargazers_count":20,"open_issues_count":4,"forks_count":14,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-01-20T23:12:13.984Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/parse-community.png","metadata":{"funding":{"github":"parse-community","patreon":null,"open_collective":"parse-server","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null},"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-01-05T19:08:22.000Z","updated_at":"2026-01-20T14:58:30.000Z","dependencies_parsed_at":"2023-12-05T15:59:09.045Z","dependency_job_id":"97e8aa2d-3c05-4f48-a20b-0380316c35b9","html_url":"https://github.com/parse-community/parse-server-sqs-mq-adapter","commit_stats":{"total_commits":94,"total_committers":10,"mean_commits":9.4,"dds":0.6595744680851063,"last_synced_commit":"412219f408a04021261cf0aa7c006bf603db6aea"},"previous_names":["parse-server-modules/parse-server-sqs-mq-adapter"],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/parse-community/parse-server-sqs-mq-adapter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parse-community%2Fparse-server-sqs-mq-adapter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parse-community%2Fparse-server-sqs-mq-adapter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parse-community%2Fparse-server-sqs-mq-adapter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parse-community%2Fparse-server-sqs-mq-adapter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parse-community","download_url":"https://codeload.github.com/parse-community/parse-server-sqs-mq-adapter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parse-community%2Fparse-server-sqs-mq-adapter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28948358,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-31T14:26:55.697Z","status":"ssl_error","status_checked_at":"2026-01-31T14:26:52.545Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-06T00:39:16.991Z","updated_at":"2026-01-31T17:12:02.006Z","avatar_url":"https://github.com/parse-community.png","language":"JavaScript","funding_links":["https://github.com/sponsors/parse-community","https://opencollective.com/parse-server"],"categories":[],"sub_categories":[],"readme":"# Parse Server SQS Message Queue Adapter \u003c!-- omit in toc --\u003e\n\n[![Build Status](https://github.com/parse-community/parse-server-sqs-mq-adapter/workflows/ci/badge.svg?branch=main)](https://github.com/parse-community/parse-server-sqs-mq-adapter/actions?query=workflow%3Aci+branch%3Amain)\n[![Snyk Badge](https://snyk.io/test/github/parse-community/parse-server-sqs-mq-adapter/badge.svg)](https://snyk.io/test/github/parse-community/parse-server-sqs-mq-adapter)\n[![Coverage](https://img.shields.io/codecov/c/github/parse-community/parse-server-sqs-mq-adapter/main.svg)](https://codecov.io/github/parse-community/parse-server-sqs-mq-adapter?branch=main)\n[![auto-release](https://img.shields.io/badge/%F0%9F%9A%80-auto--release-9e34eb.svg)](https://github.com/parse-community/parse-server-sqs-mq-adapter/releases)\n\n[![npm latest version](https://img.shields.io/npm/v/@parse/gcs-files-adapter.svg)](https://www.npmjs.com/package/@parse/sqs-mq-adapter)\n\n---\n\nThe Parse Server AWS SQS Message Queue Adapter integrates Amazon SQS as the underlying message queue for Parse Server. It allows push notifications, jobs and LiveQuery events to be distributed across multiple Parse Server instances.\n\n---\n\n- [Installation](#installation)\n- [Usage](#usage)\n  - [Integrate with Parse Server](#integrate-with-parse-server)\n  - [Credentials](#credentials)\n  - [Push Notifications](#push-notifications)\n## Installation\n\n`npm install --save @parse/sqs-mq-adapter`\n\n## Usage\n\n```js\nconst ParseServer = require('parse-server').ParseServer;\nconst SQSEventEmitterMQ = require('@parse/sqs-mq-adapter').SQSEventEmitterMQ;\n\nconfig = {\n  ....\n  queueOptions: {\n    messageQueueAdapter: SQSEventEmitterMQ,\n    queueUrl: 'https://sqs.us-east-1.amazonaws.com/XXX/Parse-Queue', // required\n    region: 'us-east-1',\n  },\n};\n\nconst parseServer = new ParseServer(config);\n```\n\n\n### Integrate with Parse Server\n\n1. **Install dependencies**\n\n   ```bash\n   npm install parse-server @parse/sqs-mq-adapter\n   ```\n\n2. **Configure the adapter** in your Parse Server configuration:\n\n   ```js\n   const { ParseServer } = require('parse-server');\n   const { SQSEventEmitterMQ } = require('@parse/sqs-mq-adapter');\n\n   const config = {\n     databaseURI: 'mongodb://localhost:27017/app',\n     appId: 'myAppId',\n     masterKey: 'myMasterKey',\n     serverURL: 'https://example.com/parse',\n     queueOptions: {\n       messageQueueAdapter: SQSEventEmitterMQ,\n       queueUrl: 'https://sqs.us-east-1.amazonaws.com/XXX/Parse-Queue',\n       region: 'us-east-1',\n     },\n   };\n\n   const server = new ParseServer(config);\n   ```\n\n3. **Start Parse Server** and the adapter will listen to the configured SQS queue.\n\nSee: [sqs-consumer](https://www.npmjs.com/package/sqs-consumer#options) for complete list of configuration options.\n\n### Credentials\n\nBy default the consumer will look for AWS credentials in the places [specified by the AWS SDK](http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/node-configuring.html#Setting_AWS_Credentials). The simplest option is to export your credentials as environment variables:\n\n```bash\nexport AWS_SECRET_ACCESS_KEY=...\nexport AWS_ACCESS_KEY_ID=...\n```\n\nIf you need to specify your credentials manually, you can use a pre-configured instance of the [AWS SQS](http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SQS.html) client:\n\n\n```js\nconst ParseServer = require('parse-server').ParseServer;\nconst SQSEventEmitterMQ = require('@parse/sqs-mq-adapter').SQSEventEmitterMQ;\nconst AWS = require('aws-sdk');\n\nAWS.config.update({\n  region: 'eu-west-1',\n  accessKeyId: '...',\n  secretAccessKey: '...'\n});\n\nconfig = {\n  ....\n  messageQueueAdapter: SQSEventEmitterMQ,\n  SQSEventEmitterMQOptions: {\n    queueUrl: 'https://sqs.us-east-1.amazonaws.com/XXX/Parse-Queue',\n    sqs: new AWS.SQS(),\n  },\n};\n\nconst parseServer = new ParseServer(config);\n```\n\n### Push Notifications\n\nParse Server sends push notifications as part of its workload using an internal push queue. When sending large amounts of push notifications this may impact other parts of the workload. This adapter allows Parse Server to only enqueue push notifications into a shared push queue so that another, dedicated Parse Server instance can process the push queue and send the push notification to the push service provider.\n\nThe Parse Server instance that should only enqueue pushes must have set `disablePushWorker: true`. The Parse Server instance that should process and send the enqueued pushes must omit this option, or set `disablePushWorker: false`.\n\n```js\nconst { ParseServer } = require('parse-server');\nconst { SQSEventEmitterMQ } = require('@parse/sqs-mq-adapter');\n\nconst config = {\n  push: {\n    adapter: new MyPushAdapter(),\n    queueOptions: {\n      messageQueueAdapter: SQSEventEmitterMQ,\n      queueUrl: 'https://sqs.us-east-1.amazonaws.com/XXX/Push-Queue',\n      region: 'us-east-1',\n      disablePushWorker: true,\n    },\n  },\n};\n\nconst server = new ParseServer(config);\n```\n\nThis works for any instance constellation, with one or multiple instances enqueuing pushes and one or multiple instances sending pushes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparse-community%2Fparse-server-sqs-mq-adapter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparse-community%2Fparse-server-sqs-mq-adapter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparse-community%2Fparse-server-sqs-mq-adapter/lists"}