еще не доводилось работать с 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);
нужно куда то включить и он будет работать. Но куда его включить, чтоб он начал работать?
еще не доводилось работать с Schedulable job нужно например раз в день оправлять письмо с отчетом вот здесь описано как это сделать: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_scheduler.htm но не совсем понятно, как именно запускается эта работа, в Орге в "All Scheduled Jobs" нет кнопки "Добавить новую". получается, что вот такой код: [code]myClassImplemetingSchedulableInterface m = new myClassImplemetingSchedulableInterface(); String sch = '20 30 8 10 2 ?'; String jobID = system.schedule('Merge Job', sch, m);[/code] нужно куда то включить и он будет работать. Но куда его включить, чтоб он начал работать?
Можно через [url=https://help.salesforce.com/apex/HTViewHelpDoc?id=code_schedule_batch_apex.htm&language=en]From Setup, enter Apex Classes in the Quick Find box, select Apex Classes, and then click Schedule Apex.[/url] Или [url=http://salesforce.stackexchange.com/questions/82502/how-to-execute-the-apex-schedular-job-in-developer-console]Run from Dev Console[/url]
Раз в день можно и через UI запустить, а если чаще, то только через консоль.
Кстати, Den, крайне удивлен, что такой старый и опытный разработчик не сталкивался с Schedulable job. Это можно сказать и Junior области.
[quote="Den Brown"]нужно например раз в день оправлять письмо с отчетом[/quote] Раз в день можно и через UI запустить, а если чаще, то только через консоль. Кстати, Den, крайне удивлен, что такой старый и опытный разработчик не сталкивался с Schedulable job. Это можно сказать и Junior области.
Кстати, я с ними сталкивался на заре своей СФ карьеры. Вот года два я их в глаза не видел.
[quote="Dmitry Shnyrev"]Кстати, Den, крайне удивлен, что такой старый и опытный разработчик не сталкивался с Schedulable job. Это можно сказать и Junior области.[/quote] Кстати, я с ними сталкивался на заре своей СФ карьеры. Вот года два я их в глаза не видел.
Это ж Cron! Ни один полноценный проект не обходится без него.
Но в принципе допускаю что не доводилось использовать - значит у вас такие проекты узколобые. Надо чаще менять заказчика
Это ж Cron! Ни один полноценный проект не обходится без него. Но в принципе допускаю что не доводилось использовать - значит у вас такие проекты узколобые. Надо чаще менять заказчика :D
так и думал, что ты так скажешь. просто не было до сих пор ни одной подобной задачи. всегда можно хорошенько погуглить, но лучше создать тему на форуме, так как так хоть сохранится инфа на будущее.
но где-то я видел нужную кнопку, и Chiz правильно подсказал, она в UI классах.
так что, если запускать в UI классах, то вот это и не надо:
myClassImplemetingSchedulableInterface m = new myClassImplemetingSchedulableInterface();
String sch = '20 30 8 10 2 ?';
String jobID = system.schedule('Merge Job', sch, m);
а просто выбираешь myClassImplemetingSchedulableInterface и руками выставляешь тайминг?
удобно
[quote="Dmitry Shnyrev"]крайне удивлен, что такой старый и опытный разработчик не сталкивался с Schedulable job. Это можно сказать и Junior области.[/quote] так и думал, что ты так скажешь. просто не было до сих пор ни одной подобной задачи. всегда можно хорошенько погуглить, но лучше создать тему на форуме, так как так хоть сохранится инфа на будущее. но где-то я видел нужную кнопку, и Chiz правильно подсказал, она в UI классах. так что, если запускать в UI классах, то вот это и не надо: [code]myClassImplemetingSchedulableInterface m = new myClassImplemetingSchedulableInterface(); String sch = '20 30 8 10 2 ?'; String jobID = system.schedule('Merge Job', sch, m);[/code] а просто выбираешь myClassImplemetingSchedulableInterface и руками выставляешь тайминг? удобно
В точку! С запусков для 1 раз в день и больше проблем нет даже для обычного пользователя. UI все решает.
В точку! С запусков для 1 раз в день и больше проблем нет даже для обычного пользователя. UI все решает.
в UI классах, кстати, нет опции "ежедневно", только "раз в неделю" (или в месяц), но как видно, там можно выставлять сразу несколько дней в неделю, то как раз получается, что это будет ежедневно
[quote="Dmitry Shnyrev"]Раз в день можно и через UI запустить[/quote] в UI классах, кстати, нет опции "ежедневно", только "раз в неделю" (или в месяц), но как видно, там можно выставлять сразу несколько дней в неделю, то как раз получается, что это будет ежедневно