docs: def WriteClientActionRequests(self, requests, cursor=None):
      """Writes messages that should go to the client to the db."""
  
      query = ("INSERT IGNORE INTO client_action_requests "
               "(client_id, flow_id, request_id, timestamp, request) "
               "VALUES %s ON DUPLICATE KEY UPDATE "
               "timestamp=VALUES(timestamp), request=VALUES(request)")
      now = mysql_utils.RDFDatetimeToTimestamp(rdfvalue.RDFDatetime.Now())
  
      value_templates = []
      args = []
      for r in requests:
        args.extend([
            db_utils.ClientIDToInt(r.client_id),
            db_utils.FlowIDToInt(r.flow_id), r.request_id, now,
            r.SerializeToString()
        ])
        value_templates.append("(%s, %s, %s, FROM_UNIXTIME(%s), %s)")
  
      query %= ",".join(value_templates)
      try:
        cursor.execute(query, args)
      except MySQLdb.IntegrityError as e:
        request_keys = [(r.client_id, r.flow_id, r.request_id) for r in requests]
        raise db.AtLeastOneUnknownRequestError(request_keys=request_keys, cause=e)