title: SQL schema / query design for horizontally scaled clients iterating through a list
body: <p>I've got two tables (simplified)</p>
  
  <pre><code>List_To_Action
  ----------------------------------------------------
  | Item_Name | Date_Time_Actioned | Action_Success? |
  ----------------------------------------------------
  </code></pre>
  
  <p>And</p>
  
  <pre><code>Action_Records (created by software)
  ------------------------------------------------
  | ID | Item_Name | Date | ... | Action_Success?|
  ------------------------------------------------
  </code></pre>
  
  <p>I'm writing a python script that tells a client to iterate through List_To_Action for items that have not yet been actioned.</p>
  
  <p>This would be simple if I had just one client accessing the table:</p>
  
  <pre><code>SELECT * FROM List_To_Action WHERE Date_Time_Actioned IS NULL
  </code></pre>
  
  <p>However, I will be horizontally scaling and multiple clients will be hitting this list to search for items that have not been actioned, so what I want to know is. </p>
  
  <p>How would I set up the schema / query for this list so that when multiple clients are hitting List_To_Action, they're not pulling out the same items? Pseudo code / pointers are fine.</p>