我有一种情况,我必须检查数据库中的值,例如aValue。
如果aValue可用,则处理aValueProcess()。
如果该值不可用,我只能等待30分钟,并且需要每10分钟(3次)检查数据库中的值。
如果超过30分钟,则退出程序。

任何人都可以给我提供最佳方法的逻辑。任何帮助表示赞赏。

最佳答案

这是我经过哈希处理的东西,至少应该向您显示逻辑(请注意,我主要使用c#,因此您可能必须更改函数。

    val aValue = aValueProcess();
    int attempts = 0;

    //Wait 10 minutes and try again if value is null and we have not tried
    //3 times (30 minutes of trying)
    while(aValue == null && attempts < 3)
    {
      thread.sleep(600000); //10 minutes in milliseconds
      attempts += 1;
      aValue = aValueProcess();
    }

10-04 18:58