Avatar

Community Advisor

Hi,

The execCommand() call is executed by wftask, under 'neolane' user, unless someone went off-road on the install. You can try sudo'ing to neolane and running curl by hand there to test. And you're mostly correct, HTTPClientRequest is a buggy subset of libcurl, though it does support parallelization by setting the async flag on execute() and calling wait().

If you're using an external REST service to send push messages, you may be better served skipping all this entirely, and instead writing a simple js lib with a single HTTPClientRequest connection, then extending the mobile app external account to add your provider and its config. For reference on how to write the js lib, see nms:androidPushConnector.js, specifically its global interface: processDeliveryPart(), getStatus(), getMessages(). The return xml values are undocumented and have to be derived empirically- this is what I spent most of my time on when making similar. When it's all wired up, push messages will be managed by MTA and everything will function normally and in line with the platform.

Thanks,

-Jon