'Run the commands (in background).
- stats_name: plugin_name (+ header)
- criticity: criticity of the trigger
- commands: a list of command line with optional {{mustache}}
- If True, then repeat the action
- mustache_dict: Plugin stats (can be use within {{mustache}})
Return True if the commands have been ran.'

def run(self, stat_name, criticity, commands, repeat, mustache_dict=None):

    if (((self.get(stat_name) == criticity) and (not repeat)) or (not self.start_timer.finished())):
        return False
    logger.debug('{}    action    {}    for    {}    ({})    with    stats    {}'.format(('Repeat' if repeat else 'Run'), commands, stat_name, criticity, mustache_dict))
    for cmd in commands:
        if pystache_tag:
            cmd_full = pystache.render(cmd, mustache_dict)
        else:
            cmd_full = cmd
        logger.info('Action    triggered    for    {}    ({}):    {}'.format(stat_name, criticity, cmd_full))
        logger.debug('Stats    value    for    the    trigger:    {}'.format(mustache_dict))
        try:
            Popen(cmd_full, shell=True)
        except OSError as e:
            logger.error("Can't    execute    the    action    ({})".format(e))
    self.set(stat_name, criticity)
    return True
