Как заскедулить apex на выполнение каждые 10 секунд?
Допустим если батч использовать может можно в finish методе сделать sleep на 10 секунд и заново вызвать
чисто интересно - НАХЕРА?
[quote="Maxim Elets"]чисто интересно - НАХЕРА?[/quote] Тестируем mulesoft
[quote="aliaksandr"][quote="Maxim Elets"]чисто интересно - НАХЕРА?[/quote] Тестируем mulesoft[/quote] https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_scheduler.htm#apex_batch_schedule_section возможно вот так будет работать [b]10 * * * * ?[/b]
[b]10 * * * * ?[/b][/quote] Вот в доке что вы скидывали указано, что нельзя скедулить каждую минуту крон выражением. Не говоря уже про каждые 10 секунд. Поэтому максимум что можно - это заскедулить на каждые 40 секунд создав 90 скедулеров(limit 100 скедулеров) - . Но мне нужно через через каждые 10 секунд а это 360 скедулеров. Значит нужно как-то терминейтить отработанные скедулеры чтобы по лимитам не вылететь. Звучит как бред, поэтому я и здесь) chaining batch со sleep методом в финиш методе работает.
это все хорошо, но по-моему вообще не имеет никакого смысла )
Я не уполномочен решать, что имеет смысл а что нет) У меня есть задача которую я должен выполнить в любом случае.
Я не уполномочен решать, что имеет смысл а что нет)
У меня есть задача которую я должен выполнить в любом случае.
[quote="aliaksandr"]Я не уполномочен решать, что имеет смысл а что нет) У меня есть задача которую я должен выполнить в любом случае.[/quote] Или предложить адекватное решение, это тоже задача)
С ходу нагуглилось вот такое решение https://salesforce.stackexchange.com/questions/170829/scheduled-apex-to-run-every-10-minutes Что-то похожее делали очень давно, но пруф уже не найду. А вот тут статья в догонку, возможно там больше деталей https://salesforcescool.blogspot.com/2021/05/schedule-apex-to-run-every-5-or-10.html
А сорри :smiley: :smiley: :smiley: не обратил внимания что [b][color=red]секунды[/color][/b] :rolling: Мозги жарятся на такой жаре. Я бы решил такое с помощью python или nodejs(+JSForce) скрипта. Просто сделал цикл с delay и дергал как-нибудь через API (если это для тестирования надо). Можно залить куда-нибудь на Heroku - для такого там можно бесплатный план заюзать.
Я бы решил такое с помощью python или nodejs(+JSForce) скрипта
[quote="Dmitry Shnyrev"] Я бы решил такое с помощью python или nodejs(+JSForce) скрипта [/quote] Спасибо, сегодня попробовал использовать jsforce, я в нем совсем новичек и в nodejs тоже) Работает лучше чем batch со sleep методом в finish методе. Единственное на heroku не деплоил. Еще я погуглил nodejs на вашем форуме, показалось что его как-то особо не любят salesforce разработчики)
Еще я погуглил nodejs на вашем форуме, показалось что его как-то особо не любят salesforce разработчики)
Цитировать
[quote="aliaksandr"]Еще я погуглил nodejs на вашем форуме, показалось что его как-то особо не любят salesforce разработчики) Цитировать [/quote] nodejs просто одна из технологий. Это javascript для бэкенда. Не стоит рассматривать его в проекции на Salesforce. Кому-то нравится Javascript, кто-то предпочитает Python, а можно вообще на Java или .Net пилить подобные решения. Это просто инструмент с помощью которого ты строишь дом. Я упомянул про nodejs именно из-за библиотеки JSForce. Аналога на других языках программирования врядли можно найти. НО без этой либы можно спокойно обойтись если работать напрямую с Salesforce APIs. Но время на разработку таких решений увеличивается в разы. Поэтому если делаешь что-то быстро и впервые, то JSForce + NodeJS отличный вариант. Если предпочитаешь другие языки то пожалуйста, можно использовать их. Лично для себя - я перепробовал кучу разных языков в том числе и nodejs, но остановился на .net для серьезных проектов и python для простых скриптов. И мне не нужен JSForce потому что у меня уже куча наработок, которые я просто копипастю и могу запилить любую логику буквально за считанные минуты.