{"action":"opened","issue":{"url":"https://api.github.com/repos/roboconf/roboconf-platform/issues/550","labels_url":"https://api.github.com/repos/roboconf/roboconf-platform/issues/550/labels{/name}","comments_url":"https://api.github.com/repos/roboconf/roboconf-platform/issues/550/comments","events_url":"https://api.github.com/repos/roboconf/roboconf-platform/issues/550/events","html_url":"https://github.com/roboconf/roboconf-platform/issues/550","id":129100102,"number":550,"title":"Replace Timer#scheduleAtFixedRate in the agent monitoring","user":{"login":"vincent-zurczak","id":1104790,"avatar_url":"https://avatars.githubusercontent.com/u/1104790?v=3","gravatar_id":"","url":"https://api.github.com/users/vincent-zurczak","html_url":"https://github.com/vincent-zurczak","followers_url":"https://api.github.com/users/vincent-zurczak/followers","following_url":"https://api.github.com/users/vincent-zurczak/following{/other_user}","gists_url":"https://api.github.com/users/vincent-zurczak/gists{/gist_id}","starred_url":"https://api.github.com/users/vincent-zurczak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vincent-zurczak/subscriptions","organizations_url":"https://api.github.com/users/vincent-zurczak/orgs","repos_url":"https://api.github.com/users/vincent-zurczak/repos","events_url":"https://api.github.com/users/vincent-zurczak/events{/privacy}","received_events_url":"https://api.github.com/users/vincent-zurczak/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/roboconf/roboconf-platform/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-01-27T10:30:57Z","updated_at":"2016-01-27T10:30:57Z","closed_at":null,"body":"Agent monitoring is based on polling at a regular period (10 s by default).\r\nHowever, if a given poll takes more than this delay, then monitoring could go wrong by executing its actions too repetitevely (\"to catch up\" as it is written in the Javadoc). \r\n\r\nInstead of using this method, we should proceed the same way than in AbstractThreadedTargetHandler and use ScheduledThreadPoolExecutor#scheduleWithFixedDelay. This solution measures the delay after the termination of the previous invocation, while Timer#scheduleAtFixedRate measures the delay from the invocation itself."}}