Comments (4)
For the functions with decorator
based on the other issues, :on_error
should work.
#140
#141
How about regular get, update etc?
from nebulex.
Should we switch to replicated adapter perhaps?
Well, it may help a bit let's say, especially with the reading operations since they are resolved locally, however, the writes operations are synchronized to all cluster nodes so you may end up getting the same errors.
Is there a graceful way to handle this situation?
For the functions with decorator based on the other issues, :on_error should work.
How about regular get, update etc?
Yeah for decorator you can bypass the exception with the option :on_error
, but when working directly with the Cache API function, you must handle/rescue the exception. However, this will change soon with Nebulex v3, because it will have an Ok/Error tuple API precisely for allowing handling errors from the user/client side.
from nebulex.
Thanks, I ended up overriding the get function (will see if need to do for others based on use/errors) with this in the Cache module.
Module.make_overridable(__MODULE__, [{:get, 1}, {:get, 2}])
@impl true
def get(key, opts \\ []) do
try do
Nebulex.Cache.Entry.get(get_dynamic_cache(), key, opts)
rescue
_ -> nil
end
end
Thanks
from nebulex.
Look 👌 (hopefully Nebulex v3 will be ready soon and these cases can be handled much better)
from nebulex.
Related Issues (20)
- Docs on Migrating to v2 from Nebulex.Adapters.Dist.Cluster HOT 5
- `Nebulex.Cache` callbacks mention "Shared Options" section that do not exist
- Support for functions that can set TTL in Decorator similar to Match HOT 9
- Where to use load/2, dump/2 HOT 4
- random :erpc, :timeout with partitioned get HOT 2
- Is there any way to get the size of the cache? HOT 4
- Nebulex.RegistryLookupError HOT 9
- Ambiguity regarding ttl and gc_interval relation. HOT 4
- Replicated adapter syncing during rolling deployment HOT 5
- Bug on Local adapter when using `delete_all` and keys are nested tuples: not a valid match specification HOT 3
- is allocated_memory param global on per node when using Nebulex.Adapters.Partitioned with :shards HOT 2
- Dangling reference on `cache_evict` when using referenced keys HOT 4
- Regression on decorated functions and Elixir 1.16 HOT 3
- Empty arguments list passed to `generate/3` in Elixir 1.16 HOT 3
- `Multilevel` inclusive cache doesn't duplicate entries backwards on `get_all/2` HOT 3
- Fix compatibility with Elixir 1.15 and 1.16 HOT 3
- Support cache refreshing in the background HOT 1
- Having a cache per user ID... HOT 4
- 2.6.2 is missing from tags and releases on github 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 nebulex.