Skip to content

Add PM2 startup synchronization; ensure that output files are only used once

Latest

Choose a tag to compare

@sbabcoc sbabcoc released this 16 Aug 03:26

In this release, I fixed an issue related to launching grids with multiple Appium nodes. If the pm2 process manager daemon wasn't active prior to starting up the grid, only the last Appium server to be started would end up in the pm2 task list. This meant that the other Appium servers couldn't be shut down gracefully, and often these servers didn't ever get launched. To resolve this issue, we now ensure that the pm2 daemon is running prior to launching the Appium servers.

While diagnosing the launch failure, I realized that the process used to acquire server log output paths could result in assigning the same path to multiple servers. We now reserve each output path by creating an empty file at the point where we acquire the path.

Finally, I resolved an issue wherein the maximum session count for Appium nodes was not set to 1. Previously, this count would be 2 for UiAutomator2 and XCUITest nodes in Selenium 4. This count for Selenium 3 Appium nodes was defaulted to 5. The actual maximum should always be set to 1.