I noticed in the documentation for Particle.function()
“Up to 15 cloud functions may be registered.”
https://docs.particle.io/reference/device-os/firmware/boron/#particle-function-
I’m not sure exactly what qualifies as a particle.function.
In my application I will have many devices, each listening to their own pub/sub topic through the Google Cloud integration. The cloud must be able to push data to the device.
Is each of these “listener” functions considered a “particle.function” ?
Is this limit of 15 per device, or for the entire Particle cloud including all devices in my fleet? If the limit is 15 listening/subscriptions per device we are okay, but if it is global to the entire collection of devices I will need a different strategy.
I’m trying to understand the limits so I don’t run into a problem once I try to provision the 16th system.
Sort of a related question if anyone has an opinion -
In my back end I will have various processes that will occasionally send controls/queries to a given target device within my fleet. To conserve cellular data, I don’t want that event to be sent to every single device, only a specific device I target from the back end process. (Via a “location_id” or something).
To prevent every device receiving every message, I plan to set up a separate pub/sub topic for each device, then in the Particle console I plan to key each new hardware device to the newly created pub/sub (or possibly a pair of them, one for incoming and one for outgoing).
Will I run into problems once we have 50, 100, 500+ etc devices in the fleet, each configured with a unique key to their own topic?
Or is there a better strategy where all devices talk to a single pub/sub but somehow only certain messages are routed to certain units? I don’t think this is possible as every device would be listening to the same topic. I don’t think “PRIVATE” will work in this case either, if I understand this, as it would still match on all of my devices in the entire fleet.
Thank you.