Command RunAfter Confusion

I am building a cascading email workflow solution that will send an initial email to the user, and then remind the user 48 hours later if no action has been taken. I figured I would simply enqueue the command and have it RunAt 2 days from now to check again. So I set the RunAfter = DateTime.UtcNow.Date.AddDay(2) and then wait for it to run again. However the command runs almost exactly 10 minutes later, which happens to match the DefaultTimeout set for the BackgroundJob feature. Is this the intended functionality? If so, how do I randomly setup jobs to run in the future not on a fixed schedule?

You should be able to set the TimeoutSecs to a value greater than 2 days.

I’ll look into getting background jobs to ignore restarting jobs queued longer with RunAfter/At than the default timeout.

Another approach is having a daily scheduled task that checks tasks that haven’t had any actions for 48 hours and send an email then.

This should be resolved in the lastest v8.41+ that’s now available in the pre release packages