Comments (4)
My preference would be to stick with acks_late=false for two reasons:
- It's consistent with the way python does it, so less surprising for people converting projects from python.
- It's an even better default in rust than in python, because error cases are generally marked, either statically by the Result or conventionally by documentation indicating which functions might panic, which makes it even easier to write code that won't crash unexpectedly.
Counter argument to my own point: We're still in the realm of networking, and unrecoverable errors (like pulled network cables, power outages, sharks, tornadoes, and wars) can always happen.
from rusty-celery.
Is this still a relevant task/issue?
Based on the docs you're linking it sounds like this should be default as False, unless tasks are generally idempotent.
from rusty-celery.
It's still relevant, but is just meant to be a discussion.
Python Celery has acks_late=false
as the default, but I personally feel that true
should be the default in Rusty Celery, as this is much safer (provided your tasks are idempotent).
I'd like to hear other opinions though.
from rusty-celery.
Thanks @jcdyer, those are good points. I think we will leave the default as false
for the foreseeable future. And I'm actually going to close this issue now as having this open makes it seem like the default is true
(I think it was initially, but at some point I changed it).
from rusty-celery.
Related Issues (20)
- rustls support
- Add task options that enable the user to send negative acknowledgements and rely on broker's retry mechanisms HOT 2
- Prefetch not working properly
- No connection was performed when setting `broker_connection_retry` to `false`
- How do I run the main method in beat_app.rs in a thread
- Cannot connect to broker with x-max-priority set HOT 2
- How to get TaskResult from AsyncResult? HOT 1
- New release? HOT 3
- Call for new features HOT 5
- BrokerBuilder is not Send HOT 6
- Socket was readable but we read 0. This usually means that the connection is half closed this mark it as broken HOT 7
- Celery task blocking main thread in actix web HOT 3
- does the RedisBroker support password
- WARN celery::broker::redis:Setting heartbeat on redis broker has no effect on anything HOT 2
- support streams protocol
- is it possible to define the log output level HOT 1
- Postgres as a broker/backend
- Limiting the rate of consuming HOT 4
- Delivery acknowledgement timeout on best practices
- Flower integration HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rusty-celery.