Running server local tasks

When running multiple servers, say in a web farm, by default I understand that a particular task may be run by any of the servers.This is good, most of the time.

For some tasks though I need server affinity, for example, I want to clear file system based cache periodically, these caches are held per server, in the file system

So far, the only mechanism that I can determine would be to use per server queues, is that still a reasonable pattern?