Open mariashinkevich opened 1 year ago
Blynk webhook won't execute with datastream changes less than 50 seconds apart.
While working on the blog "How to Control a Particle Device with Blynk", I observed that datastream triggering of the Blynk webhook didn't always result in the data reaching the Particle device. So I set up a new webhook where from the Blynk dashboard, I pushed values to a Postman mock server. Through testing, I discovered that I needed an interval of at least 50 seconds between each data push, or the value would not be sent by Blynk. Postman limits the push interval to every two seconds, so Postman is not the problem.
Does Blynk have something in place that limits a webhook publish interval to no less than 50 seconds?
I'm doing these tests on the NY3 production server and my Pro account.
I just noticed on the webhook page "REQUEST QUOTA: 1 per minute". Is this the restriction? If so, why so limited? Why can't it be limited to every 1 second?
@doom369 are such limits reasonable? Can they be higher for paid plans?
We won't do anything here until we have time to fix other performance issues.
Let's document as is for now, and reconsider in the future.
@mariashinkevich @doom369 ticket still relevant?
While working on the “How to Control a Particle Device with Blynk” blog, I discovered some issues with Blynk webhooks.
The Blynk webhook (HTTP POST): What is received by the destination (Postman Mock Server):
When I send the Blynk webhook as HTTP POST with content type of ‘Custom JSON’, the correct result occurs:
The second issue I experienced was while editing multiple webhooks. After editing and saving one webhook, if I open another, some of the field settings such as the webhook name, URL, etc. from the prior webhook are saved in the second webhook. This creates a real mess and loss of webhook settings. Let me know if you need me to engage in a paid study to come up with the exact sequence to replicate the issue, and identification of all of the issues in detail.
The third issue is with the webhook ‘DEVICE’ dropdown list. About 50% of the time I would get a list of devices, and the other times I would see a spinning icon and never a list of devices. Let me know if you need me to engage in a paid study to come up with the exact sequence to replicate the issue.
The fourth issue is that the ‘Logs’ are not always updated with any test activity, or changes to the associated datastream. At one time the Logs did show up, but suddenly they disappeared.
Executing a “test webook” doesn’t cause substitution of the datastream value, but forcing a datastream value change does correctly cause the pin value to be substituted. This should be noted in the documentation to avoid developer frustration.