Skip to main content

Version: 25.04

Scheduled Service

The Scheduled Service provides a Groovy service which can be called at a scheduled time using a configured ScheduledServiceJob instance. This is useful for performing background jobs at regular or scheduled times.

This service is configured via System > Scheduled Jobs.

You also need to configure a new Scheduled Service job instance to call your named service. See the example Scheduled Service job definition below.

Submission Receipt Number

Service Invoke Parameters​

Parameters are not nullable except where otherwise indicated.

ParameterDescription
svcDefSvcDef
A service definition value object.

Error Handling​

If an error occurs invoking the Scheduled Service, the error is recorded in the Journey Manager database error log.

Templates​

Service​

import com.avoka.core.groovy.GroovyLogger as logger
import com.avoka.tm.vo.*

class FluentScheduledService {

/*
* Perform scheduled job
*
* returns: string message to be logged to the server log as an INFO message
*/
String invoke(SvcDef svcDef) {

// TODO: perform business logic

return 'Schedule Service invoked'
}
}

Unit Test​

import com.avoka.core.groovy.GroovyLogger as logger
import com.avoka.tm.util.*
import com.avoka.tm.svc.*
import com.avoka.tm.vo.*
import org.junit.Test

class UnitTest extends AbstractJUnitTest {

/*
* Perform service unit test
*
* throws exception if unit test fails
*/
@Test
void testScheduledService() throws Exception {

Map params = [:]
params.svcDef = svcDef

String result = (String) new ServiceInvoker(svcDef).invoke(params)

logger.info result

assert result == 'Schedule Service invoked'
}
}