private static Stats stats(Environment environment) { return new MetricsStats(environment.resolve(SemanticMetricRegistry.class), Instant::now); } }
private static AggregateStorage storage(Environment environment, Stats stats) { final Config config = environment.config(); final Closer closer = environment.closer(); final Connection bigTable = closer.register(createBigTableConnection(config)); final Datastore datastore = createDatastore(config, stats); return closer.register(new AggregateStorage(bigTable, datastore, DEFAULT_RETRY_BASE_DELAY_BT)); }
@Override public void create(Environment environment) { final Config config = environment.config(); final String schedulerServiceBaseUrl = get(config, config::getString, SCHEDULER_SERVICE_BASE_URL) .orElse(DEFAULT_SCHEDULER_SERVICE_BASE_URL); workflowValidator, time, workflowActionAuthorizer); environment.closer().register(backfillResource); schedulerServiceBaseUrl, environment.client()); ); environment.routingEngine() .registerAutoRoute(Route.sync("GET", "/ping", rc -> "pong")) .registerRoutes(Api.withCommonMiddleware(routes, clientBlacklistSupplier,
@Override public void create(Environment environment) { final Config config = environment.config(); final Closer closer = environment.closer(); environment.routingEngine() .registerAutoRoute(Route.sync("GET", "/ping", rc -> "pong")) .registerRoutes(Api.withCommonMiddleware(schedulerResource.routes(requestAuthenticator),
private static StorageFactory storage(StorageFactory storage) { return (environment, stats) -> { if (isDevMode(environment.config())) { LOG.info("Running Styx in development mode, will use InMemStorage"); return new InMemStorage(); } else { return storage.apply(environment, stats); } }; }
private static AggregateStorage storage(Environment environment, Stats stats ) { final Config config = environment.config(); final Closer closer = environment.closer(); final Connection bigTable = closer.register(createBigTableConnection(config)); final Datastore datastore = createDatastore(config, stats); return new AggregateStorage(bigTable, datastore, DEFAULT_RETRY_BASE_DELAY_BT); }
private static Stats stats(Environment environment) { return new MetricsStats(environment.resolve(SemanticMetricRegistry.class), Instant::now); }
private static DockerRunner createDockerRunner( String id, Environment environment, StateManager stateManager, ScheduledExecutorService scheduler, Stats stats, Debug debug) { final Config config = environment.config(); final Closer closer = environment.closer(); if (isDevMode(config)) { LOG.info("Creating LocalDockerRunner"); return closer.register(DockerRunner.local(scheduler, stateManager)); } else { final String styxEnvironment = config.getString(STYX_ENVIRONMENT); final NamespacedKubernetesClient kubernetes = closer.register(getKubernetesClient( config, id, createGkeClient(), DefaultKubernetesClient::new)); final ServiceAccountKeyManager serviceAccountKeyManager = createServiceAccountKeyManager(); return closer.register(DockerRunner.kubernetes(kubernetes, stateManager, stats, serviceAccountKeyManager, debug, styxEnvironment)); } }
public static void main(String[] args) throws LoadingException, IOException { StackdriverTraceExporter.createAndRegister( StackdriverTraceConfiguration.builder().build()); final AppInit init = (env) -> { final MetricsStats stats = new MetricsStats(env.resolve(SemanticMetricRegistry.class), Instant::now); final StatsFactory statsFactory = (ignored) -> stats; final AuthenticatorFactory authenticatorFactory = Function1.of(AuthenticatorFactory.DEFAULT::apply).memoized()::apply; final StyxScheduler scheduler = StyxScheduler.newBuilder() .setServiceName(SERVICE_NAME) .setStatsFactory(statsFactory) .setAuthenticatorFactory(authenticatorFactory) .build(); final StyxApi api = StyxApi.newBuilder() .setServiceName(SERVICE_NAME) .setStatsFactory(statsFactory) .setAuthenticatorFactory(authenticatorFactory) .build(); scheduler.create(env); api.create(env); }; HttpService.boot(init, SERVICE_NAME, args); } }