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.pinuts.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(); } }
See also Some gotchas.