Hi Robert, Firstly, thanks for this document. One quick question: is the `behavior ID` basically the task type? This part was slightly unclear to me.
Best, Adnan Hemani > On May 9, 2025, at 6:07 AM, Robert Stupp <sn...@snazy.de> wrote: > > Hi, > > Polaris is a service, which has to eventually perform operations > asynchronously. Polaris is also meant to be backed by multiple server > instances (think: high-availability & load-balancing setups). > > During runtime, things can go sideways in many ways. Server instances may > crash, be killed or whatever... Task executions may fail, because some other > remote service fails, configuration values (and credentials) may be wrong or > other error situations. > > Task execution should be resilient to both kinds of scenarios: being able to > eventually recover from a "dead/lost node" scenario and to retry failed tasks. > > Each individual task should also be executed only once. > > There are also different kinds of tasks with different behaviors: the > "function" being executed and the retry behavior. > > Proposal doc for this: > https://www.google.com/url?q=https://docs.google.com/document/d/17D28E2ne5dzOHWc9DJ91Yz3lnQOtgmWaA_TBNdXv0sY/edit?tab%3Dt.0&source=gmail-imap&ust=1747400861000000&usg=AOvVaw3x56ChuB1ga0MelG6URxxi > > Robert > > > -- > Robert Stupp > @snazy >