Skip to main content

Worker Plugins

Worker plugins handle background tasks like notifications, data processing, and scheduled jobs.

Base Preset Workers​

These workers are registered by registerBasePlugins() (from @unchainedshop/plugins/presets/base) and are strongly recommended for proper system operation:

Adapter KeyTypeDescriptionWhen to Use
shop.unchained.worker-plugin.messageMESSAGERoutes messages through templates to delivery workersAlways — central message routing for all notifications
shop.unchained.worker-plugin.emailEMAILEmail notifications via NodemailerWhen sending transactional emails (order confirmations, etc.)
shop.unchained.worker-plugin.http-requestHTTP_REQUESTOutbound HTTP webhooksWhen integrating with external services via webhooks
shop.unchained.worker-plugin.bulk-importBULK_IMPORTBulk data import from JSON streamsWhen importing products, prices, or media in bulk
shop.unchained.worker-plugin.bulk-exportBULK_EXPORTExport shop entities as CSV filesWhen exporting catalog or user data
shop.unchained.worker-plugin.externalEXTERNALPlaceholder for external workersWhen delegating work to external systems (e.g. ERP)
shop.unchained.worker-plugin.heartbeatHEARTBEATTest workerWhen checking queue processing or simulating delays and failures
shop.unchained.worker-plugin.zombie-killerZOMBIE_KILLERCleanup orphaned database recordsAlways — prevents stale data buildup
shop.unchained.worker-plugin.gc-guestsGC_GUESTSDelete inactive guest accounts and their open cartsWhen expiring abandoned guest sessions
shop.unchained.worker-plugin.invalidate-cartsINVALIDATE_CARTSRecalculate recently updated open cartsWhen refreshing cart pricing after tax or catalog changes
shop.unchained.worker.error-notificationsERROR_NOTIFICATIONSDaily error reportsWhen you want daily summaries of worker failures

SMS Workers​

Registered by registerAllPlugins() (from @unchainedshop/plugins/presets/all):

Adapter KeyTypeDescription
shop.unchained.worker-plugin.twilioTWILIOSMS via Twilio
shop.unchained.worker-plugin.bulkgateBULKGATESMS via BulkGate
shop.unchained.worker-plugin.budgetsmsBUDGETSMSSMS via BudgetSMS

Push Notifications​

Registered by registerAllPlugins():

Adapter KeyTypeDescription
shop.unchained.worker-plugin.push-notificationPUSHW3C Web Push notifications

Currency Rate Workers​

Registered by registerCryptoPlugins() (from @unchainedshop/plugins/presets/crypto) and registerAllPlugins():

Adapter KeyTypeDescription
shop.unchained.worker.update-ecb-ratesUPDATE_ECB_RATESEUR exchange rates from ECB
shop.unchained.worker.update-coinbase-ratesUPDATE_COINBASE_RATESCrypto/fiat rates from Coinbase

Enrollment Workers​

Registered by registerAllPlugins():

Adapter KeyTypeDescription
shop.unchained.worker-plugin.generate-enrollment-ordersENROLLMENT_ORDER_GENERATORGenerate orders from subscriptions

Token/NFT Workers​

Registered by registerCryptoPlugins() (from @unchainedshop/plugins/presets/crypto) and registerAllPlugins():

Adapter KeyTypeDescription
shop.unchained.worker-plugin.export-tokenEXPORT_TOKENToken minting/export process
shop.unchained.worker-plugin.refresh-tokensREFRESH_TOKENSRefresh token ownership data
shop.unchained.worker-plugin.update-token-ownershipUPDATE_TOKEN_OWNERSHIPExternal token ownership verification

Creating Custom Worker Plugins​

See Custom Worker Plugins for creating your own worker adapters.