Skip to content

dev command should run actions in an isolated process #110

Description

@purplecabbage

Describe the bug
Currently all action code is executed in the same process, which could potentially lead to errors if any action code is modifying process.env it affects the global space.

To Reproduce
write 2 actions where 1 is has a sleep function

const sleep = async (ms) => new Promise(resolve => setTimeout(resolve, ms))

// main function that will be executed by Adobe I/O Runtime
async function main (params) {

  let before = process.env.__OW_ACTIVATION_ID
  console.log('before', before)
  await sleep(10000)
  let after = process.env.__OW_ACTIVATION_ID
  console.log('after', after)
  return {
    statusCode: 200,
    body: {
      before,
      after,
      wasCorrupted: (before !== after)
    }
  }
}

exports.main = main

aio app dev and call this action
while it is running, use curl to call the other action

Expected behavior
activationId has not changed when sleeper returns

time: 10015 ms
{
  "before": "d5afdd731a1d2384c55b8bcdb1a453e6",
  "after": "d5afdd731a1d2384c55b8bcdb1a453e6",
  "wasCorrupted": false
}

Screenshots

time: 10015 ms
{
  "before": "d5afdd731a1d2384c55b8bcdb1a453e6",
  "after": "f53548458df5870656339859f7af28e6",
  "wasCorrupted": true
}

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions