Search in sources :

Example 1 with GuiceRecurringDaemon

use of com.peterphi.std.guice.common.daemon.GuiceRecurringDaemon in project stdlib by petergeneric.

the class GuiceRestDaemonsServiceImpl method trigger.

@Override
public Response trigger(final String name, final boolean verbose) {
    final Optional<GuiceRecurringDaemon> result = registry.getRecurring().stream().filter(d -> StringUtils.equals(name, d.getName())).findFirst();
    if (result.isPresent()) {
        final GuiceRecurringDaemon daemon = result.get();
        if (verbose)
            daemon.makeNextRunVerbose();
        daemon.trigger();
        final String message = "Daemon " + daemon.getName() + " triggered at " + DateTime.now() + " with verbose=" + verbose;
        return Response.seeOther(UriBuilder.fromUri(restEndpoint.toString() + "/guice/threads").queryParam("message", message).build()).build();
    } else {
        throw new IllegalArgumentException("No recurring daemon with name: " + name);
    }
}
Also used : GuiceRecurringDaemon(com.peterphi.std.guice.common.daemon.GuiceRecurringDaemon) StringUtils(org.apache.commons.lang.StringUtils) TemplateCall(com.peterphi.std.guice.web.rest.templating.TemplateCall) Inject(com.google.inject.Inject) DateTime(org.joda.time.DateTime) GuiceCoreTemplater(com.peterphi.std.guice.web.rest.templating.thymeleaf.GuiceCoreTemplater) Function(java.util.function.Function) AuthConstraint(com.peterphi.std.guice.common.auth.annotations.AuthConstraint) GuiceDaemonRegistry(com.peterphi.std.guice.common.daemon.GuiceDaemonRegistry) GuiceProperties(com.peterphi.std.guice.apploader.GuiceProperties) Response(javax.ws.rs.core.Response) Optional(java.util.Optional) Named(com.google.inject.name.Named) GuiceDaemon(com.peterphi.std.guice.common.daemon.GuiceDaemon) UriBuilder(javax.ws.rs.core.UriBuilder) URI(java.net.URI) Doc(com.peterphi.std.annotation.Doc) GuiceRecurringDaemon(com.peterphi.std.guice.common.daemon.GuiceRecurringDaemon)

Aggregations

Inject (com.google.inject.Inject)1 Named (com.google.inject.name.Named)1 Doc (com.peterphi.std.annotation.Doc)1 GuiceProperties (com.peterphi.std.guice.apploader.GuiceProperties)1 AuthConstraint (com.peterphi.std.guice.common.auth.annotations.AuthConstraint)1 GuiceDaemon (com.peterphi.std.guice.common.daemon.GuiceDaemon)1 GuiceDaemonRegistry (com.peterphi.std.guice.common.daemon.GuiceDaemonRegistry)1 GuiceRecurringDaemon (com.peterphi.std.guice.common.daemon.GuiceRecurringDaemon)1 TemplateCall (com.peterphi.std.guice.web.rest.templating.TemplateCall)1 GuiceCoreTemplater (com.peterphi.std.guice.web.rest.templating.thymeleaf.GuiceCoreTemplater)1 URI (java.net.URI)1 Optional (java.util.Optional)1 Function (java.util.function.Function)1 Response (javax.ws.rs.core.Response)1 UriBuilder (javax.ws.rs.core.UriBuilder)1 StringUtils (org.apache.commons.lang.StringUtils)1 DateTime (org.joda.time.DateTime)1