Jobs (CSE)

UM Cron Jobs can call custom CSE functions. In this example we will implement a function that performs a mass operation to remove all members of a given Segment from a given List.

Create a new file cmsbs-conf/cse/plugins/de.acme.tutorial/custom/removeSegmentFromList.mjs:

de.acme.tutorial.removeSegmentFromList = (segmentName, listName) => { const query = UM.query(`inChannel(${listName}) and inVChannel(${segmentName})`); while (true) { let entries = query.page(100, 0); // 100 per page, stay on page 0! if (entries.length == 0) break; entries.forEach(entry => { entry.channels.unsubscribe(listName); }); UM.commitEntries(); UM.test.emptyEntryCache(); } }

See also https://pinutswiki.atlassian.net/wiki/spaces/UMDOC/pages/3922264068.

Create and run the Demo Data job to generate some Lists, Segments and Entries.

Create a new CSE: Call job and enter the fully qualified name of the job function above as the function to be executed.