Drupal multisite manager module I am currently working on an internal project that would host a Drupal multisite platform.

For this, I am in the process of creating a site_manager module that will be running in the "main" Drupal instance, within the multisite setup.

Now, I want to be able to run a lot of functions in the context of a specific subsite.

For example: I want to run a cache_clear_all() or a module_enable() in a subsite. 

When I call these functions, it will always run the functions in the current site's context (the "main" Drupal instance).

I have tried to use db_set_active() to resolve this, but no luck.
It will always run it in the current "main" site.

To resolve the problem I started implementing a custom class that holds methods for the actions I want to perform, that fire custom db_query() implementations...

It works, but that cannot be the cleanest way to do this...
Clearing the cache tables manually via db_query does not seem like the best way to do this, especially when you know that just calling cache_clear_all() should do the trick, when ran in the correct context.

Some research brought me here:
Programmatically create user in another Drupal site
But I don't really see how this would work, because I want the platform to be extendible,so that I can add functions later.

I could try to setup some kind of "client" module that listens for calls from the main site or something like this?

EDIT

After doing some additional research, I am looking into the possibilities of XML-RPC or some kind of webservice (json) that might do the trick as well.

It might be good to note that I would like to find a sustainable solution when looking forward to D8...

Anyway, did any of you try something like this?

Thanks in advance!
Normally, you would execute these commands on particular sites with Drush and site aliases (drush sa lists the aliases). I do it all the time.