Hey everyone ![]()
I’m currently working on a Shopify Remix embedded app, and I’m trying to set up Redis (BullMQ) for background jobs. I’ve been trying to figure out the right way to structure everything, and I’d really appreciate some guidance from people who’ve done this before.
What I’m building
In my app, I need to handle a few background tasks like:
-
Updating cart data
-
Updating orders through Shopify Admin API
-
Sending transactional emails
These involve multiple API calls and some processing, so I want to move them into background jobs using Redis queues to:
-
Keep the Shopify UI fast
-
Avoid blocking requests
-
Make retries and reliability easier to manage
What I’m trying to figure out
I’m a bit unsure about the “right way” to structure this, especially in a Shopify Remix setup:
-
How do you usually structure Shopify + Redis (BullMQ) apps in production?
-
What’s the best practice for using Shopify Admin API inside workers?
-
What should actually go into the queue payload (shop, orderID, tokens, etc.)?
-
How do you normally separate:
-
Remix Shopify server logic
-
Redis workers
-
shared utilities/services
-
And if anyone has a reference repo or example setup, that would honestly be super helpful ![]()