Skip to content
DataMiner DoJo

More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Search in posts
Search in pages
Log in
Menu
  • Blog
  • Questions
  • Learning
    • E-learning Courses
    • Open Classroom Training
    • Certification
      • DataMiner Fundamentals
      • DataMiner Configurator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
      • Verify a certificate
    • Tutorials
    • Video Library
    • Books We Like
    • >> Go to DataMiner Docs
  • Expert Center
    • Solutions & Use Cases
      • Solutions
      • Use Case Library
    • Markets & Industries
      • Media production
      • Government & defense
      • Content distribution
      • Service providers
      • Partners
      • OSS/BSS
    • DataMiner Insights
      • Security
      • Integration Studio
      • System Architecture
      • DataMiner Releases & Updates
      • DataMiner Apps
    • Agile
      • Agile Webspace
      • Everything Agile
        • The Agile Manifesto
        • Best Practices
        • Retro Recipes
      • Methodologies
        • The Scrum Framework
        • Kanban
        • Extreme Programming
      • Roles
        • The Product Owner
        • The Agile Coach
        • The Quality & UX Coach (QX)
    • DataMiner DevOps Professional Program
  • Downloads
  • More
    • Feature Suggestions
    • Climb the leaderboard!
    • Swag Shop
    • Contact
      • General Inquiries
      • DataMiner DevOps Support
      • Commercial Requests
    • Global Feedback Survey
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Deal Registration
  • >> Go to dataminer.services

Repoll all device information after reboot/restore/upgrade implementation

Solved1.20K views23rd June 2021driver development SLProtocol
3
Brecht Deconinck [SLC] [DevOps Member]1.19K 10th June 2021 0 Comments

In an HTTP protocol we're implementing the feature to reboot/restore/upgrade a device.

What would be the best implementation to make sure all data gets repolled when the device comes back online and so the user doesn't have to wait until the timers get activated?

Suggestions:

Refresh Groups Implementation

Keep a flag in the driver when the reboot/restore/upgrade command was pushed to the device. Check the flag when the device comes back online in order to trigger a full repoll of the device.
This means that for every group that gets added in the future, you should also add them to this mechanism.

Also, the timers are going to keep putting groups on the stack that all are going to go in timeout until the device comes online.

Recover timer

Add an extra timer thread (default stopped) that gets activated when the reboot/restore/upgrade command has been pushed to the device. This will also stop the normal (fast/medium/slow) timers. When in the 'recover' timer we are able to poll a specific parameter (system information, etc.) again, we know the device is back online and we simply stop the recover timer and start the normal ones.
This will make sure that all groups that get added in the future get polled as well, by so less maintenance and less groups that will go into timeout anyway. Disadvantage is a start/stop timer implementation.

Or is there another way?

Brecht Deconinck [SLC] [DevOps Member] Selected answer as best 23rd June 2021

1 Answer

  • Active
  • Voted
  • Newest
  • Oldest
4
Laurens Moutton [SLC] [DevOps Enabler]8.73K Posted 10th June 2021 1 Comment

Hi,

That "recover timer" suggestion sounds like to default ping group implementation.

Most easy solution would seem to define a ping group in the driver, which is not used in a timer, and activate the slow poll on the element.

Whenever the device goes into timeout (e.g. due to the reboot) then the ping group will be executed and other polling will be halted by default. This would have to be tested what the regular timers do after a slow poll, but if the device communicates again and the timers are not directly executed then you can trigger on this response and execute the "restart timer" action. The reschedule="true" will then immediately let the timer (content) start again.

<Action id="101">
<Name>Restart with reschedule</Name>
<On id="1">timer</On>
<Type reschedule="true">restart timer</Type>
</Action>

Brecht Deconinck [SLC] [DevOps Member] Selected answer as best 23rd June 2021
Laurens Moutton [SLC] [DevOps Enabler] commented 10th June 2021

I did a small test to see the behavior of the normal timer groups during and after a slow poll (tested with DataMiner 10.1.6.0):
A slow poll prevents the timer groups from being executed, however the groups seem to be added to the queue (not duplicated). The queue gets executed when the device goes out of timeout.
In other words, suppose that there is a timeout with slow poll and there is a 1 hour timer with group “1000”. This timer gets executed at 01:05, 02:05,…
-If the timer wants to execute during the slow poll, then group “1000” will be executed as soon as the device goes out of timeout. E.g. when the slow poll was between 02:00 and 02:15, then group “1000” will be executed at 02:15 because the timer should have been active at 02:05. Execution timings will be 01:05, 02:15, 03:05, 04:05,…
-If the timer was not executed during the slow poll, then group “1000” will not be executed when the device communicates again. E.g. when the slow poll was between 01:30 and 01:45 then group “1000” will not be executed at 01:45, that group will be executed at the normal time of 01:05, 02:05, 03:05, 04:05,…

So if you want all groups executed when the device communicates again to refresh all data immediately then you’ll either need to have an action that restarts and reschedules all timers (future developer will have to adapt this when adding a new timer), OR have an action that executes all groups (future developer will have to adapt this when adding a new group)

Please login to be able to comment or post an answer.

My DevOps rank

DevOps Members get more insights on their profile page.

My user earnings

0 Dojo credits

Spend your credits in our swag shop.

0 Reputation points

Boost your reputation, climb the leaderboard.

Promo banner DataMiner DevOps Professiona Program
DataMiner Integration Studio (DIS)
Empower Katas

Recent questions

Correlation Engine: “Test rule” doesn’t result in a hit, despite functional rule 1 Answer | 3 Votes
When using the Setter = true attribute, will the copy action always be executed first? 1 Answer | 3 Votes
Multiple Set on Table parameters for DVE’s 1 Answer | 2 Votes

Question Tags

adl2099 (115) alarm (62) Alarm Console (82) alarms (100) alarm template (83) Automation (223) automation scipt (111) Automation script (167) backup (71) Cassandra (180) Connector (109) Correlation (69) Correlation rule (52) Cube (150) Dashboard (194) Dashboards (188) database (83) DataMiner Cube (57) DIS (81) DMS (71) DOM (140) driver (65) DVE (56) Elastic (83) Elasticsearch (115) elements (80) Failover (104) GQI (159) HTTP (76) IDP (74) LCA (152) low code app (166) low code apps (93) lowcodeapps (75) MySQL (53) protocol (203) QAction (83) security (88) SNMP (86) SRM (337) table (54) trending (87) upgrade (62) Visio (539) Visual Overview (345)
Privacy Policy • Terms & Conditions • Contact

© 2025 Skyline Communications. All rights reserved.

DOJO Q&A widget

Can't find what you need?

? Explore the Q&A DataMiner Docs

[ Placeholder content for popup link ] WordPress Download Manager - Best Download Management Plugin