Comments (4)
Taking Serilog as an example, they call them Serilog.Extensions.Hosting
and Serilog.AspNetCore
. The latter is exactly like what I'm proposing with basically Middleware and AppBuilder/ServiceCollection extensions and a reference to/dependency on the former.
So perhaps:
Foundatio.Extensions.Hosting
Foundatio.AspNetCore
I'm having oral surgery tomorrow. Not sure how willing I'll be to do anything immediately, but certainly something I can contribute to.
from foundatio.
Hmm... not opposed to breaking it up, but I'd prefer not to. Our job services still use web just so they can serve health and readiness probes. How much is it adding to the docker image?
from foundatio.
It adds the entirety of the aspnetcore shared framework. Not at my desk atm to check size, but it's considerable compared to the size without it.
HealthChecks is its own set of packages and doesn't need aspnet. Obviously you can use it to expose endpoints but that's not required. You can still make use of the abstractions and health check service from within a Worker Service application without pulling in all of aspnet (we do that in other non webapps that don't use foundatio). It's about selecting the right dependencies.
I realize the tools in this package are conveniences...the background service is our primary use case. I'd reimplement it myself for our own use but that seems heavy handed. I dont need the probes in this case.
FWIW: one can write to files or expose other health check reporters... if you want the endpoint, it's easy to create an http-listener backed service that publishes the results without bringing in all of aspnet. I'm not by any means saying to do that here, just calling out it can be done. There's examples on the web for exposing file based reporters for k8s probes etc. as well. It's a great set of tools.
To me, what's here would really make sense as two packages so it could be consumed independently depending on how you are leveraging the rest of foundatio. Not everything is a web app ;-)
from foundatio.
Yeah, what you are saying makes sense. Not sure what we would call the 2 different packages. Ideas? Can you create a PR for the changes?
from foundatio.
Related Issues (20)
- Kafka consumer throughput. Usage of KafkaMessageBusOptions.DefaultConsumerThreadCount HOT 3
- Cancel queue job and clear the queue. Also disable job HOT 6
- publishAsync immediately returns when awaited HOT 4
- Feature Request : Priority Queues HOT 2
- InMemoryCacheClient SetAllAsync doesn't respect Expiry HOT 1
- GetFileListAsync - searchPattern
- Unified messaging HOT 1
- Upgrade Deprecated Azure SDK Clients HOT 6
- DataDictionary.Empty is not protected by potential bugs. HOT 3
- Throw exceptions on IFileStorage instead of returning false or null. HOT 4
- the question of Foundatio.Lock.ILockProvider HOT 3
- [Not a Bug] Discord Channel? I want to commit some example code HOT 1
- Examples for DependencyInjection HOT 4
- SaveFile Overload with Stream HOT 4
- RobiniaDocs API Explorer
- locks in async context HOT 2
- Is Pulsar supported HOT 1
- Writing InMemory stream results in NotSupportedException HOT 5
- Feature suggestion: Foundatio component for key vaults HOT 9
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 foundatio.