Dwolla has a Webhook called "TransactionStatus". That Webhook will POST to your server whenever a transaction's status changes. On a typical transaction, you will get 2 notifications: first, that the transaction entered "pending" mode, and then finally when it enters "processed" (or "failed", "canceled") mode.
Here's a page explaining the different statuses a transaction can be in.
Finally, if you decide to opt out for the manual polling method, you should know that as long as a transaction is in "pending" mode, that are no guarantees either way. That said, its very very rare for a transaction to stay pending after its clearing date.