Launchctl could not start appium in MAC OSX

I am setup a grid with Selenium and Appium, the appium could connect to Selenium hub.
Because I have 20+ MAC OSX VMs link to selenium hub, so I would like start appium along with MAC OSX restart, or I could use Chef to control them start or stop.
I put the configuration into a .plist file and put into ~/Library/LaunchAgents/, then I use command ‘launchctl load -w ~/LaunchAgents/com.test.ios.appium.plist’ to start appium server. However, the appium never start. If I run ‘launchctl’ command again, the response was, ‘Users/xxx/Library/LaunchAgents/com.test.ios.appium.plist: Operation already in progress’.
If I run the same command (/usr/local/bin/node /usr/local/lib/node_modules/appium/bin/appium.js --nodeconfig /Users/builder/appium_node_config.json) which I put into .plist in MAC terminal, the appium will start well.
I have tried several commands in .plist like ‘appium --nodeconfig ~/nodeconfig.json’, every command working fine in MAC terminal, unfortunately if I put it into .plist and use launchctl to load it, appium never start.

Would you please help check and let me know how to load appium with OSX restart?

Here is my .plist:
com.test.ios.appium.plist.txt (776 Bytes)
Here is my node config file:
{
“capabilities”:
[
{
“browserName”: “Safari”,
“version”:“8.3”,
“maxInstances”: 1,
“platform”:“MAC”
}
],
“configuration”:
{
“cleanUpCycle”:2000,
“timeout”:30000,
“proxy”: “org.openqa.grid.selenium.proxy.DefaultRemoteProxy”,
“url”:“http://10.254.139.135:4723/wd/hub”,
“host”: “10.254.139.135”,
“port”: 4723,
“maxSession”: 1,
“register”: true,
“registerCycle”: 5000,
“hubPort”: 4444,
“hubHost”: “10.9.212.230”
}
}

Looks like this is the same issue Start Appium server upon system boot (MacOS, launchctl, launchd) . There is no resolution so far.