4 ms·
For example the Uber loyalty program needs to accumulate points (similar to airline points). A customer workflow receives trip completion events and updates the
by mfateev 7y ago
For example the Uber loyalty program needs to accumulate points (similar to airline points). A customer workflow receives trip completion events and updates the state accordingly. When a certain number of points is reached some actions (mostly calls to downstream services) are executed.
- chrischen 7y agoFor this use case, could it be solved with an asynchronous task system such as Celery? What advantages does Cadence offer for something like this, which seems to be repurposing the scheduling system of Cadence to process instantaneous events? Also how does it listen for events? From polling?
- mfateev 7y agoIt could be solved by Celery, but it would also require a database and Celery doesn't scale that well unless runs on top of Redis which is not really fault tolerant. Also actions invocation with guarantees and exponential retries is not trivial with Celery. Actually at Uber large number of services are being migrated from Python/Celery to Go/Cadence.