Example usage for org.joda.time Duration millis

List of usage examples for org.joda.time Duration millis

Introduction

In this page you can find the example usage for org.joda.time Duration millis.

Prototype

public static Duration millis(long millis) 

Source Link

Document

Create a duration with the specified number of milliseconds.

Usage

From source file:com.google.cloud.pubsub.deprecated.spi.DefaultPubSubRpc.java

License:Open Source License

public DefaultPubSubRpc(PubSubOptions options) throws IOException {
    InternalPubSubOptions internalOptions = new InternalPubSubOptions(options);
    executorFactory = internalOptions.getExecutorFactory();
    executor = executorFactory.get();/*  w ww .  ja  va 2s .co m*/
    try {
        ExecutorProvider executorProvider = FixedExecutorProvider.create(executor);
        ChannelProvider channelProvider;
        // todo(mziccard): ChannelProvider should support null/absent credentials for testing
        if (options.getHost().contains("localhost")
                || options.getCredentials().equals(NoCredentials.getInstance())) {
            ManagedChannel managedChannel = NettyChannelBuilder.forTarget(options.getHost())
                    .negotiationType(NegotiationType.PLAINTEXT).executor(executor).build();
            channelProvider = FixedChannelProvider.create(managedChannel);
        } else {
            channelProvider = internalOptions.getChannelProvider();
        }
        providerManager = ProviderManager.newBuilder().setChannelProvider(channelProvider)
                .setExecutorProvider(executorProvider).build();
        UnaryCallSettings.Builder callSettingsBuilder = internalOptions.getApiCallSettings();
        PublisherSettings.Builder pubBuilder = PublisherSettings.defaultBuilder()
                .setExecutorProvider(providerManager).setChannelProvider(providerManager)
                .applyToAllUnaryMethods(callSettingsBuilder);
        SubscriberSettings.Builder subBuilder = SubscriberSettings.defaultBuilder()
                .setExecutorProvider(providerManager).setChannelProvider(providerManager)
                .applyToAllUnaryMethods(callSettingsBuilder);
        publisherClient = PublisherClient.create(pubBuilder.build());
        subscriberClient = SubscriberClient.create(subBuilder.build());
        callSettingsBuilder.setRetrySettingsBuilder(
                callSettingsBuilder.getRetrySettingsBuilder().setTotalTimeout(Duration.millis(Long.MAX_VALUE))
                        .setInitialRpcTimeout(Duration.millis(Long.MAX_VALUE))
                        .setMaxRpcTimeout(Duration.millis(Long.MAX_VALUE)));
        subBuilder.applyToAllUnaryMethods(callSettingsBuilder);
        noTimeoutSubscriberClient = SubscriberClient.create(subBuilder.build());
    } catch (Exception ex) {
        throw new IOException(ex);
    }
}

From source file:com.google.cloud.pubsub.deprecated.spi.v1.GrpcPubSubRpc.java

License:Open Source License

public GrpcPubSubRpc(PubSubOptions options) throws IOException {
    GrpcTransportOptions transportOptions = (GrpcTransportOptions) options.getTransportOptions();
    executorFactory = transportOptions.getExecutorFactory();
    executor = executorFactory.get();/* w  w w .j  ava2s  .c  o  m*/
    try {
        ExecutorProvider executorProvider = FixedExecutorProvider.create(executor);
        ChannelProvider channelProvider;
        // todo(mziccard): ChannelProvider should support null/absent credentials for testing
        if (options.getHost().contains("localhost")
                || options.getCredentials().equals(NoCredentials.getInstance())) {
            ManagedChannel managedChannel = NettyChannelBuilder.forTarget(options.getHost())
                    .negotiationType(NegotiationType.PLAINTEXT).executor(executor).build();
            channelProvider = FixedChannelProvider.create(managedChannel);
        } else {
            channelProvider = transportOptions.getChannelProvider(options);
        }
        providerManager = ProviderManager.newBuilder().setChannelProvider(channelProvider)
                .setExecutorProvider(executorProvider).build();
        UnaryCallSettings.Builder callSettingsBuilder = transportOptions
                .getApiCallSettings(options.getRetrySettings());
        PublisherSettings.Builder pubBuilder = PublisherSettings.defaultBuilder()
                .setExecutorProvider(providerManager).setChannelProvider(providerManager)
                .applyToAllUnaryMethods(callSettingsBuilder);
        SubscriberSettings.Builder subBuilder = SubscriberSettings.defaultBuilder()
                .setExecutorProvider(providerManager).setChannelProvider(providerManager)
                .applyToAllUnaryMethods(callSettingsBuilder);
        publisherClient = PublisherClient.create(pubBuilder.build());
        subscriberClient = SubscriberClient.create(subBuilder.build());
        callSettingsBuilder.setRetrySettingsBuilder(
                callSettingsBuilder.getRetrySettingsBuilder().setTotalTimeout(Duration.millis(Long.MAX_VALUE))
                        .setInitialRpcTimeout(Duration.millis(Long.MAX_VALUE))
                        .setMaxRpcTimeout(Duration.millis(Long.MAX_VALUE)));
        subBuilder.applyToAllUnaryMethods(callSettingsBuilder);
        noTimeoutSubscriberClient = SubscriberClient.create(subBuilder.build());
    } catch (Exception ex) {
        throw new IOException(ex);
    }
}

From source file:com.google.cloud.pubsub.FakeScheduledExecutorService.java

License:Open Source License

public void tick(long time, TimeUnit unit) {
    advanceTime(Duration.millis(unit.toMillis(time)));
}

From source file:com.google.cloud.pubsub.spi.DefaultPubSubRpc.java

License:Open Source License

private static ApiCallSettings.Builder apiCallSettings(PubSubOptions options) {
    // TODO: specify timeout these settings:
    // retryParams.retryMaxAttempts(), retryParams.retryMinAttempts()
    RetryParams retryParams = options.retryParams();
    final RetrySettings.Builder builder = RetrySettings.newBuilder()
            .setTotalTimeout(Duration.millis(retryParams.totalRetryPeriodMillis()))
            .setInitialRpcTimeout(Duration.millis(options.initialTimeout()))
            .setRpcTimeoutMultiplier(options.timeoutMultiplier())
            .setMaxRpcTimeout(Duration.millis(options.maxTimeout()))
            .setInitialRetryDelay(Duration.millis(retryParams.initialRetryDelayMillis()))
            .setRetryDelayMultiplier(retryParams.retryDelayBackoffFactor())
            .setMaxRetryDelay(Duration.millis(retryParams.maxRetryDelayMillis()));
    return ApiCallSettings.newBuilder().setRetrySettingsBuilder(builder);
}

From source file:com.google.cloud.pubsub.spi.v1.FakeScheduledExecutorService.java

License:Open Source License

@Override
public ScheduledFuture<?> schedule(Runnable command, long delay, TimeUnit unit) {
    return schedulePendingCallable(
            new PendingCallable<>(Duration.millis(unit.toMillis(delay)), command, PendingCallableType.NORMAL));
}

From source file:com.google.cloud.pubsub.spi.v1.FakeScheduledExecutorService.java

License:Open Source License

@Override
public <V> ScheduledFuture<V> schedule(Callable<V> callable, long delay, TimeUnit unit) {
    return schedulePendingCallable(
            new PendingCallable<>(Duration.millis(unit.toMillis(delay)), callable, PendingCallableType.NORMAL));
}

From source file:com.google.cloud.pubsub.spi.v1.FakeScheduledExecutorService.java

License:Open Source License

@Override
public ScheduledFuture<?> scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit) {
    return schedulePendingCallable(new PendingCallable<>(Duration.millis(unit.toMillis(initialDelay)), command,
            PendingCallableType.FIXED_RATE));
}

From source file:com.google.cloud.pubsub.spi.v1.FakeScheduledExecutorService.java

License:Open Source License

@Override
public ScheduledFuture<?> scheduleWithFixedDelay(Runnable command, long initialDelay, long delay,
        TimeUnit unit) {// ww w . j ava  2s  . c  o  m
    return schedulePendingCallable(new PendingCallable<>(Duration.millis(unit.toMillis(initialDelay)), command,
            PendingCallableType.FIXED_DELAY));
}

From source file:com.google.cloud.ServiceOptions.java

License:Open Source License

private static RetrySettings.Builder getDefaultRetrySettingsBuilder() {
    return RetrySettings.newBuilder().setMaxAttempts(6).setInitialRetryDelay(Duration.millis(1000L))
            .setMaxRetryDelay(Duration.millis(32_000L)).setRetryDelayMultiplier(2.0)
            .setTotalTimeout(Duration.millis(50_000L)).setInitialRpcTimeout(Duration.millis(50_000L))
            .setRpcTimeoutMultiplier(1.0).setMaxRpcTimeout(Duration.millis(50_000L));
}

From source file:com.google.cloud.training.dataanalyst.sandiego.AccidentAlert.java

License:Apache License

@SuppressWarnings("serial")
public static void main(String[] args) {
    MyOptions options = PipelineOptionsFactory.fromArgs(args).withValidation().as(MyOptions.class);
    options.setStreaming(true);/*from w  w w  .  j  a v a2 s.  c om*/
    Pipeline p = Pipeline.create(options);

    String topic = "projects/" + options.getProject() + "/topics/sandiego";
    String avgSpeedTable = options.getProject() + ":demos.accidents";
    double RATIO = options.getRatioThreshold();

    // if we need to average over 60 minutes and speedup is 30x
    // then we need to average over 2 minutes of sped-up stream
    Duration averagingInterval = Duration
            .millis(Math.round(1000 * 60 * (options.getAveragingInterval() / options.getSpeedupFactor())));
    Duration averagingFrequency = averagingInterval.dividedBy(2); // 2 times
    // in
    // window
    System.out.println("Averaging interval = " + averagingInterval);
    System.out.println("Averaging freq = " + averagingFrequency);

    // Build the table schema for the output table.
    List<TableFieldSchema> fields = new ArrayList<>();
    fields.add(new TableFieldSchema().setName("timestamp").setType("TIMESTAMP"));
    fields.add(new TableFieldSchema().setName("latitude").setType("FLOAT"));
    fields.add(new TableFieldSchema().setName("longitude").setType("FLOAT"));
    fields.add(new TableFieldSchema().setName("highway").setType("STRING"));
    fields.add(new TableFieldSchema().setName("direction").setType("STRING"));
    fields.add(new TableFieldSchema().setName("lane").setType("INTEGER"));
    fields.add(new TableFieldSchema().setName("speed").setType("FLOAT"));
    fields.add(new TableFieldSchema().setName("sensorId").setType("STRING"));
    TableSchema schema = new TableSchema().setFields(fields);

    PCollection<LaneInfo> laneInfo = p //
            .apply("GetMessages", PubsubIO.<String>read().topic(topic).withCoder(StringUtf8Coder.of())) //
            .apply("TimeWindow", Window.into(SlidingWindows//
                    .of(averagingInterval)//
                    .every(averagingFrequency))) //
            .apply("ExtractData", ParDo.of(new DoFn<String, LaneInfo>() {
                @ProcessElement
                public void processElement(ProcessContext c) throws Exception {
                    String line = c.element();
                    c.output(LaneInfo.newLaneInfo(line));
                }
            }));

    PCollectionView<Map<String, Double>> avgSpeedLocation = laneInfo //
            .apply("ByLocation", ParDo.of(new DoFn<LaneInfo, KV<String, Double>>() {
                @ProcessElement
                public void processElement(ProcessContext c) throws Exception {
                    LaneInfo info = c.element();
                    String key = info.getLocationKey();
                    Double speed = info.getSpeed();
                    c.output(KV.of(key, speed));
                }
            })) //
            .apply("AvgByLocation", Mean.perKey()) //
            .apply("ToView", View.asMap());

    PCollection<LaneInfo> accidents = laneInfo.apply("FindSlowdowns",
            ParDo.withSideInputs(avgSpeedLocation).of(new DoFn<LaneInfo, LaneInfo>() {
                @ProcessElement
                public void processElement(ProcessContext c) throws Exception {
                    LaneInfo info = c.element();
                    String location = info.getLocationKey();
                    double speed = info.getSpeed();
                    double avgSpeed = c.sideInput(avgSpeedLocation).get(location);
                    if (speed < RATIO * avgSpeed) {
                        // 50% of average speed?
                        c.output(info);
                    }
                }
            })); //

    accidents.apply("ToBQRow", ParDo.of(new DoFn<LaneInfo, TableRow>() {
        @ProcessElement
        public void processElement(ProcessContext c) throws Exception {
            TableRow row = new TableRow();
            LaneInfo info = c.element();
            row.set("timestamp", info.getTimestamp());
            row.set("latitude", info.getLatitude());
            row.set("longitude", info.getLongitude());
            row.set("highway", info.getHighway());
            row.set("direction", info.getDirection());
            row.set("lane", info.getLane());
            row.set("speed", info.getSpeed());
            row.set("sensorId", info.getSensorKey());
            c.output(row);
        }
    })) //
            .apply(BigQueryIO.Write.to(avgSpeedTable)//
                    .withSchema(schema)//
                    .withWriteDisposition(BigQueryIO.Write.WriteDisposition.WRITE_APPEND)
                    .withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_IF_NEEDED));

    p.run();
}