title: Sleeping actors?
body: <p>What's the best way to have an actor sleep? I have actors set up as agents which want to maintain different parts of a database (including getting data from external sources). For a number of reasons (including not overloading the database or communications and general load issues), I want the actors to sleep between each operation. I'm looking at something like 10 actor objects.</p>
  
  <p>The actors will run pretty much infinitely, as there will always be new data coming in, or sitting in a table waiting to be propagated to other parts of the database etc. The idea is for the database to be as complete as possible at any point in time.</p>
  
  <p>I could do this with an infinite loop, and a sleep at the end of each loop, but according to <a href="http://www.scala-lang.org/node/242" rel="noreferrer">http://www.scala-lang.org/node/242</a> actors use a thread pool which is expanded whenever all threads are blocked. So I imagine a Thread.sleep in each actor would be a bad idea as would waste threads unnecessarily.</p>
  
  <p>I could perhaps have a central actor with its own loop that sends messages to subscribers on a clock (like async event clock observers)?</p>
  
  <p>Has anyone done anything similar or have any suggestions? Sorry for extra (perhaps superfluous) information.</p>
  
  <p>Cheers</p>
  
  <p>Joe</p>