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 > Service Definitions.
You will also need to configure a new Scheduled Service job instance to call your named service. Please see the example Scheduled Service job definition below.
Service Invoke Parameters
Parameter | Description | Nullable |
---|---|---|
svcDef | the service definition value object, see SvcDef | no |
Error Handling
If an error occurs invoking the Scheduled Service then the error will be recorded in the Journey Manager database error log.
Service Template
This section shows service template Groovy script.
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 Template
This section shows unit test template Groovy script.
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'
}
}