How to use boto3 waiters to take snapshot from big RDS instances
<p>I started migrating my code to boto 3 and one nice addition I noticed are the waiters.</p>

<p>I want to create a snapshot from a db instance and I want to check for it's availability before I resume with my code.</p>

<p>My approach is the following:</p>

<pre><code># Notice: Step : Check snapshot availability [1st account - Oregon]
print "--- Check snapshot availability [1st account - Oregon] ---"
new_snap = client1.describe_db_snapshots(DBSnapshotIdentifier=new_snapshot_name)['DBSnapshots'][0]
# print pprint.pprint(new_snap) #debug


waiter = client1.get_waiter('db_snapshot_completed')
print "Manual snapshot is -pending-"
sleep(60)
waiter.wait(
                DBSnapshotIdentifier = new_snapshot_name,
                IncludeShared = True,
                IncludePublic = False
            )

print "OK. Manual snapshot is -available-"
</code></pre>

<p>,but the documentation says that it polls the status every 15 seconds for 40 times. That is 10 minutes. Yet, a rather big DB will need more than that . </p>

<p>How could I use the waiter to alleviate for that?</p>