Hidendra/Plugin-Metrics — pull request #43 by iain-davis (2013-08-03 23:15:02+00:00)
Title: added public method that will cancel the metrics task.

This is a possible solution for issue #42. It is the solution I used in my own copy of the plugin.

Background/motivation: When testing my plugin (CommunityBridge) I frequently do some testing using the reload command. This revealed an complaint from the server that CommunityBridge wasn't shutting down its tasks properly. After confirming that I had cancelled my own tasks I eventually realized that the Metrics class was starting its own task that wasn't being cancelled.

Initially, I didn't look closely at the code and assumed that the "disable" method was intended for shutting down the metrics class...eventually I realized that in addition to cancelling the task, it also turned off plugin-metrics entirely for a given server. Oops. Heads up: When I was originally researching the problem I saw (sadly, I don't recall who) other plugin authors who had assumed the same thing...so there may be released plugins out there that are unintentionally/silently turning off metrics server wide.

This is the small bit of code I added that exposes a method for me (and others, hopefully) to cancel a task and I now call metrics.cancelTask() instead of disable().