Check-in frequency with AdapterTime frequency limit

// Expert user has replied.
A Arsen Bandurian 3 years 7 months ago
1 6 0

Hello, team. Just to verify I understand things right. Please confirm  or explain why not. If, for example

I have a check-in condition of AdapterType class that says only "Set frequency limit" of 15 minutes
I have configured Agent30 setting to check in every 10 minutes.

Then MSP Agent effectively will check in at T+0, T+20mins, T+30mins, T+50, T+60, etc (condition timer independent of check-in timer), right? Or will the answer be "T+0 and then never" (condition timer is reset with every check-in)? Thanks.

Please Register or Login to post a reply

6 Replies

A Allan Herrod

Arsen; After looking at the release docs, I think everything the MSP Agent does it covered, but the information is spread across a variety of place in several documents (MSP Client Software Guide, Understanding MSP, and Using MSP).  Further, there is no place that defines the exact sequence in which things are done by the MSP Agent, when/if they are done.  Since it can sometimes be important to know that sequence and the criteria for determining which things will and will not be done, it seems reasonable to have some sort of pseudo code and/or flow chart of the MSP Agent check-in process.  I will try and get this added to a future version of the MSP Client Software Guide. Allan

A Arsen Bandurian

Alan, am I right understanding that AdapterTime condition Frequency timer is reset to 0 after every successful communication with server? This is the only explanation to your answer of T+0, T+20, T+40, etc I also see that I need to learn about what happens at check-in better. Is there a documentation that describes the check-in sequence? I've been through a number of docs (Using, Understanding, Administering, Client Guide) but haven't found anything that will describe the whole process.

A Allan Herrod

I scanned through the documents and while it covers the notion of Check-in Conditions fairly well, it doesn't cover this one fairly special case.  It does cover the fact that each time the MSP Agent executes, it does everything EXCEPT those things that require contacting the Relay Server, which is ONLY done if all Check-In Conditions, if any, are met. And it does say that on a given execution of the MSP Agent, it will contact the Relay Server ONLY if ALL Check-In Conditions are met.  What it does NOT say is exactly how the criteria for EACH Condition are evaluated, since that is internal to each Condition.  In the AdapterTime Condition, when the Condition evaluates to TRUE AND all the other Conditions evaluate to TRUE, then the contact of the Relay Server will proceed.  The AdapterTime Condition keeps track of the last time it evaluated to TRUE and won't evaluate to TRUE again until the specified amount of time has passed.  So, the AdapterTime Condition is built to internally keep track of when it last evaluated to TRUE and to make sure it does not evaluated to TRUE again within the specified minimum duration. But the AdapterTime Condition MIGHT evaluate to TRUE, but one or more other Conditions might evaluate to FALSE, the contact of the Relay Server MIGHT NOT actually occur.  In this special case, the MSP Agent lets the AdapterTime Condition know that even though it evaluated to TRUE, the contact of the Relay Server didn't actually occur.  In this special case, the AdapterTime Condition will continue to evaluate to TRUE (assuming all other criteria are met), since it knows that its prior evaluation to TRUE did not get "used". Allan

A Arsen Bandurian

OK, I understood that "Frequency" is not a timer, but a minimum "dead time span" (same as check-in frequency in Agent30.settings). Now, could you please elaborate on "MSP Agent does everything" ? As I said before - I went through numerous docs, but haven't found proper description of what's happening when MSP Agent executes check-in sequence.

A Allan Herrod

The Check-In Interval will specify how often the MSP Agent attempts to check-in.  Each time the MSP Agent attempts to check-in, it will perform local processing, including the Check-In commands for all installed Packages (e.g. it will check for LockAndWipe, AutoSiteAssign, etc.).  If there are ALSO Check-In Conditions, then the MSP Agent will not attempt to connect to the defined Relay Server unless ALL the Check-In Conditions are met.  So, if the ONLY Check-In Condition is an AdapterTime Condition that says "Set frequency limit", then it the MSP Agent will not talk to the Relay Server on THAT check-in unless it has been at least that long since the last time that it talked to the Relay Server. So, in your case, the MSP Agent will attempt to check-in at T+0 and will connect to the Relay Server.  At time T+10 again, it will check-in but will NOT connect to the Relay Server.  At T+20, it will check-in and WILL connect to the Relay Server because it has been 20 minutes since the last time it connected to the Relay Server, and that is > 15 minutes.  So, the effective result is that, barring other interferences, it will check in every 10 minutes and connect to the Relay Server ever 2nd check-in. Keep in mind, however, that the Check-In Interval is not a precise thing.  It indicates that the MSP Agent should attempt to check-in if it has not done so for the specified time.  Doing a Force Check-In, using the MSP Agent UI, using a command line option, or using Request Check-In would cause the MSP Agent to attempt to check-in sooner.  The MSP Agent would then begin measuring the Check-In interval from that point. Each time the MSP Agent attempts to check-in, it will evaluate the Check-In Conditions.  The "Set frequency limit" on AdapterTime will ensure that Condition does not allow connection to the Relay Server to happen MORE OFTEN than the stated frequency.  But it does not guarantee that it will happen with AT LEAST that frequency since the Condition won't be evaluated until the MSP Agent is attempting to check-in. I hope that helps.

J Juan-Antonio Martinez

Please correct me if I am wrong, but I would say that connection will be made on both 2nd and third check-ins. In cycles of 3 check-ins every 30 minutes, only first will not connect. Because 30 is the least common multiple of 10 (check-in period) and 15 ("silence" window). Of course, this is pure theory.

CONTACT
Can’t find what you’re looking for?