Using MySQL Connector/Python I have a loop that keeps checking a value for a change every 2 seconds. Without all the meat, here is the loop (the print is there for testing purposes:
request = database.get_row(table="states", wherecol="state", whereval="request_from_interface")
# back to normal operation
The default isolation level of InnoDB is REPEATABLE READ. This means that subsequent consistent
SELECT statements will read the same snapshot established by the first within a transaction. Though you're opening and closing cursors, you're probably doing that inside a transaction and so you're reading the established snapshot over and over again. Either
COMMIT to end the current transaction so that you can read values committed after the snapshot was taken.