Sfoglia il codice sorgente

wait for account plan enablement

tags/v0.1.6
Jonathan Cobb 4 anni fa
parent
commit
ebeb6ac1af
5 ha cambiato i file con 13 aggiunte e 8 eliminazioni
  1. +3
    -1
      bubble-server/src/main/java/bubble/dao/bill/AccountPlanDAO.java
  2. +7
    -4
      bubble-server/src/main/java/bubble/service/cloud/StandardNetworkService.java
  3. +1
    -1
      bubble-server/src/main/java/bubble/service/dbfilter/DatabaseFilterService.java
  4. +1
    -1
      bubble-server/src/main/resources/logback.xml
  5. +1
    -1
      bubble-web

+ 3
- 1
bubble-server/src/main/java/bubble/dao/bill/AccountPlanDAO.java Vedi File

@@ -28,6 +28,8 @@ import static org.hibernate.criterion.Restrictions.*;
@Repository
public class AccountPlanDAO extends AccountOwnedEntityDAO<AccountPlan> {

public static final long PURCHASE_DELAY = SECONDS.toMillis(3);

@Autowired private BubblePlanDAO planDAO;
@Autowired private BillDAO billDAO;
@Autowired private CloudServiceDAO cloudDAO;
@@ -111,7 +113,7 @@ public class AccountPlanDAO extends AccountOwnedEntityDAO<AccountPlan> {

final PaymentServiceDriver paymentDriver = paymentService.getPaymentDriver(configuration);
background(() -> {
sleep(SECONDS.toMillis(3), "AccountPlanDAO.postCreate: waiting to finalize purchase");
sleep(PURCHASE_DELAY, "AccountPlanDAO.postCreate: waiting to finalize purchase");
paymentDriver.purchase(accountPlanUuid, paymentMethodUuid, billUuid);
});
}


+ 7
- 4
bubble-server/src/main/java/bubble/service/cloud/StandardNetworkService.java Vedi File

@@ -47,6 +47,7 @@ import java.util.concurrent.atomic.AtomicReference;

import static bubble.ApiConstants.getRemoteHost;
import static bubble.ApiConstants.newNodeHostname;
import static bubble.dao.bill.AccountPlanDAO.PURCHASE_DELAY;
import static bubble.model.cloud.BubbleNode.TAG_ERROR;
import static bubble.service.boot.StandardSelfNodeService.*;
import static bubble.service.cloud.NodeProgressMeter.getProgressMeterKey;
@@ -55,11 +56,9 @@ import static bubble.service.cloud.NodeProgressMeterConstants.*;
import static java.util.concurrent.TimeUnit.MINUTES;
import static java.util.concurrent.TimeUnit.SECONDS;
import static org.apache.commons.lang3.RandomStringUtils.randomAlphanumeric;
import static org.cobbzilla.util.daemon.ZillaRuntime.daemon;
import static org.cobbzilla.util.daemon.ZillaRuntime.die;
import static org.cobbzilla.util.daemon.ZillaRuntime.*;
import static org.cobbzilla.util.io.FileUtil.*;
import static org.cobbzilla.util.io.StreamUtil.stream2string;
import static org.cobbzilla.util.json.JsonUtil.COMPACT_MAPPER;
import static org.cobbzilla.util.json.JsonUtil.json;
import static org.cobbzilla.util.reflect.ReflectionUtil.closeQuietly;
import static org.cobbzilla.util.system.CommandShell.chmod;
@@ -91,6 +90,7 @@ public class StandardNetworkService implements NetworkService {
private static final long NET_LOCK_TIMEOUT = MINUTES.toSeconds(21);
private static final long NET_DEADLOCK_TIMEOUT = MINUTES.toSeconds(20);
private static final long DNS_TIMEOUT = MINUTES.toMillis(60);
private static final long PLAN_ENABLE_TIMEOUT = PURCHASE_DELAY + SECONDS.toMillis(2);

@Autowired private AccountDAO accountDAO;
@Autowired private BubbleNetworkDAO networkDAO;
@@ -465,6 +465,10 @@ public class StandardNetworkService implements NetworkService {
if (configuration.paymentsEnabled()) {
final AccountPlan accountPlan = accountPlanDAO.findByAccountAndNetwork(accountUuid, network.getUuid());
if (accountPlan == null) throw invalidEx("err.accountPlan.notFound");
final long start = now();
while (accountPlan.disabled() && now() - start < PLAN_ENABLE_TIMEOUT) {
sleep(100, "startNetwork: waiting for accountPlan to become enabled: "+accountUuid);
}
if (accountPlan.disabled()) throw invalidEx("err.accountPlan.disabled");
}

@@ -653,7 +657,6 @@ public class StandardNetworkService implements NetworkService {
log.warn("getLaunchStatus: tick.account != accountUuid, returning null");
return null;
}
log.warn("getLaunchStatus: returning tick: "+json(tick, COMPACT_MAPPER));
return tick.setPattern(null);
} catch (Exception e) {
return die("getLaunchStatus: "+e);


+ 1
- 1
bubble-server/src/main/java/bubble/service/dbfilter/DatabaseFilterService.java Vedi File

@@ -38,7 +38,7 @@ import static org.cobbzilla.wizard.server.config.PgRestServerConfiguration.ENV_P
@Service @Slf4j
public class DatabaseFilterService {

public static final long DB_FILTER_TIMEOUT = SECONDS.toMillis(60);
public static final long DB_FILTER_TIMEOUT = SECONDS.toMillis(120);
public static final long THREAD_KILL_TIMEOUT = SECONDS.toMillis(10);

public static final String ENV_OLD_DB_KEY = "OLD_DB_KEY";


+ 1
- 1
bubble-server/src/main/resources/logback.xml Vedi File

@@ -33,10 +33,10 @@
<!--<logger name="org.cobbzilla.wizardtest.resources.AbstractResourceIT" level="INFO" />-->
<logger name="org.cobbzilla.wizardtest.resources" level="INFO" />
<logger name="org.glassfish.jersey.grizzly" level="INFO" />
<logger name="com.moparisthebest.dns.listen.intercept" level="ERROR" />
<logger name="bubble.cloud.email.SmtpEmailDriver" level="DEBUG" />
<logger name="org.cobbzilla.wizard.dao.AbstractCRUDDAO" level="DEBUG" />
<logger name="org.cobbzilla.wizard.server.listener.BrowserLauncherListener" level="INFO" />
<logger name="bubble.main.rekey" level="DEBUG" />
<logger name="bubble" level="INFO" />

<root level="INFO">


+ 1
- 1
bubble-web

@@ -1 +1 @@
Subproject commit c04be671c012a2a7454de143836af0a87bf5f175
Subproject commit cfc4cb7e5c204672d498dbb1a1b3728076d9bf79

Caricamento…
Annulla
Salva