еще не доводилось работать с Schedulable job
нужно например раз в день оправлять письмо с отчетом
вот здесь описано как это сделать:
https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_scheduler.htm
но не совсем понятно, как именно запускается эта работа,
в Орге в "All Scheduled Jobs" нет кнопки "Добавить новую".
получается, что вот такой код:
myClassImplemetingSchedulableInterface m = new myClassImplemetingSchedulableInterface();
String sch = '20 30 8 10 2 ?';
String jobID = system.schedule('Merge Job', sch, m);
нужно куда то включить и он будет работать. Но куда его включить, чтоб он начал работать?
Раз в день можно и через UI запустить, а если чаще, то только через консоль.
Кстати, Den, крайне удивлен, что такой старый и опытный разработчик не сталкивался с Schedulable job. Это можно сказать и Junior области.
Кстати, я с ними сталкивался на заре своей СФ карьеры. Вот года два я их в глаза не видел.
Это ж Cron! Ни один полноценный проект не обходится без него.
Но в принципе допускаю что не доводилось использовать - значит у вас такие проекты узколобые. Надо чаще менять заказчика ![]()
так и думал, что ты так скажешь. просто не было до сих пор ни одной подобной задачи. всегда можно хорошенько погуглить, но лучше создать тему на форуме, так как так хоть сохранится инфа на будущее.
но где-то я видел нужную кнопку, и Chiz правильно подсказал, она в UI классах.
так что, если запускать в UI классах, то вот это и не надо:
myClassImplemetingSchedulableInterface m = new myClassImplemetingSchedulableInterface();
String sch = '20 30 8 10 2 ?';
String jobID = system.schedule('Merge Job', sch, m);
а просто выбираешь myClassImplemetingSchedulableInterface и руками выставляешь тайминг?
удобно
В точку! С запусков для 1 раз в день и больше проблем нет даже для обычного пользователя. UI все решает.
в UI классах, кстати, нет опции "ежедневно", только "раз в неделю" (или в месяц), но как видно, там можно выставлять сразу несколько дней в неделю, то как раз получается, что это будет ежедневно