Skip to main content

Version: 22.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'
}
}