Giter Site home page Giter Site logo

nuget / webbackgrounder Goto Github PK

View Code? Open in Web Editor NEW
324.0 324.0 64.0 1.59 MB

Proof of concept of a web based background task manager that deals well with web farms/app shutdowns

License: Apache License 2.0

PowerShell 0.30% C# 95.45% CSS 1.40% ASP.NET 0.16% HTML 2.69%

webbackgrounder's People

Contributors

analogrelay avatar haacked avatar jrusbatch avatar maartenba avatar pranavkm avatar regisbsb avatar wwahammy avatar xavierdecoster avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webbackgrounder's Issues

No license

Currently there's no license set in the root of this repo. I assume it should be Apache 2.0 since it's a NuGet project but it'd be helpful if it actually said that.

Progress / Complete Events for Jobs?

Any thoughts on adding events to the job class or something else, to be able to get progress or complete notifications? I have a job framework integrated w/ SignalR to notify the front end of progress and completion but I'm trying to swap it for this one to support a web farm environment.

I can put a pull together if interested.

WebBackgrounder - doesn't fire until user hits site

Hi,
Thanks for the nifty library.
I am trying to implement this. My issue is that the timer doesn't start until there is a page request. In other words, if the application is restarted, the timer won't tick off unless a user hits the site.
Is there a way around this?

startMode="AlwaysRunning" is not an option for me as this is being run in a hosted environment.

WebActivator

Where is this 'WebActivator' dependency? I looked in nuget and found WebActivatorEx, but that's not the one used by the sample.

Support for .Net Core 3.1 ?

I have downloaded nuget to my project and it seems to work fine, but there is a warning, that there is no supported version for my project version.

Can you somehow make revision and make it .Net Core 3.x ready?

Thanks

EntityWorkItemRepository.RunInTransaction leads to InvalidOperationException - the connection was not closed

We've seen a lot of errors showing up in our logs like this.

System.InvalidOperationException: The connection was not closed.
at System.Data.EntityClient.EntityConnection.Open()
at WebBackgrounder.EntityWorkItemRepository.RunInTransaction(Action query)
at WebBackgrounder.WebFarmJobCoordinator.ReserveWork(String workerId, IJob job)
at WebBackgrounder.WebFarmJobCoordinator.GetWork(IJob job)
at WebBackgrounder.JobManager.DoNextJob()
at WebBackgrounder.JobManager.OnTimerElapsed(Object sender)

Add support for dead task detection and auto restart

If a task gets in a state where it's marked as active, but nothing is working on it, it'll effectively block anyone from working on it.

We need to detect this case and log an error. Also consider auto restarting such tasks based on past average task elapsed times.

code lacks documentation

This is a great package, but it's severely lacking in even the most basic level of documentation.

Yeah, the code is self-documenting for the standard use case, kind-of, but what about the non standard cases? What are the interval values? Can they be zero for single run background tasks? What's the timeout value? What should it be set to generally? Does it depend on the kind of task being run?

Don't make people dig through your code to understand how it works.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.