website logo
➡️ purplepublish.com
Overview
Support
Setup
Editorial
Experience
Growth
Developers
Navigate through spaces
⌘K
Purple Experience
Views
Widget Component
Generic Widget
Structure of Dynamic resources
experience.config
Configure recurring texts in the messages.json
Purple Experience Builder
Using the Purple Experience Builder
Update your Purple Experience Version
Edit 'dynamic resources' from Purple Manager
Edit 'dynamic resources' in Experience Builder
Deploy Resources to Multiple Brands
Experience Builder Pipelines
Basic Experience Set-up
App onboarding configuration
Configure SEO attributes
Configure Error Pages
Configure the Side Menu in the Purple Experience
Configure a login page in Experience Builder
App menu configuration in Dynamic Resources
Configure the feedback email in the app with Experience Builder
Configure a coupon code page in Experience Builder
Configure a custom domain
Branding of your Experience
Experience Styling
Change the brand logo in the HTML Experience with Experience Builder
Configure brand colours in the HTML Experience with Experience Builder
Deposit a font in the HTML Experience with Experience Builder
Configure legal information pages in Experience Builder
Builder Pipelines Architecture Info
Simple static ads in Experience
Traffective ads in Experience
Action URLs and Deep linking
List of Action URLs
Deep linking
Migration
Docs powered by
Archbee
Branding of your Experience

Builder Pipelines Architecture Info

2min

Purple Experience Builder



The pipelines are executed on the instance that received the file upload/change. There will be a maximum of concurrent pipelines and also a timeout for pipelines to not block the server forever.

An instance of a pipeline (called Job) is executed in a worker thread to not block the main thread responding to API requests etc.


flowchart  TB
    filechange(File change)
    writetodisk(Write to disk)
    filechange-->writetodisk
    isinput{Is pipeline input?}
    emitFileChange(Emit file change)
    writetodisk-->isinput
    Websocket([Client Websocket])
    subgraph Pipeline management
        direction RL
        cancelExisitng(Cancel existing)
        subgraph Workerthread[worker thread]
            direction BT 
            startPipeline(Start pipeline)
            updateStatus(Update logs/status)
            finishPipeline(finish)
            startPipeline-->updateStatus
            updateStatus-->finishPipeline
        end
        cancelExisitng--input-->Workerthread
    end
    isinput--yes-->cancelExisitng
    isinput--no: original file-->emitFileChange
    finishPipeline-- output -->emitFileChange
    updateStatus-->Websocket
    emitFileChange-->Websocket
    startPipeline-->Websocket




Updated 01 Sep 2023
Did this page help you?
PREVIOUS
Configure legal information pages in Experience Builder
NEXT
Simple static ads in Experience
Docs powered by
Archbee
Docs powered by
Archbee
ImprintPrivacy Policy
© Sprylab Technologies GmbH 2023