Releases: reactiveui/punchclock
3.2.7
Changes
- e4f2b05 housekeeping: Updated Cake to v0.38.1 (#91) @RLittlesII
Dependency Updates
- ec486d2 chore(deps): bump PublicApiGenerator from 10.1.0 to 10.2.0 (#94)
- 6f8e1b5 chore(deps): bump Nerdbank.GitVersioning from 3.1.74 to 3.1.91 (#88)
- edde0d1 chore(deps): bump PublicApiGenerator from 10.0.2 to 10.1.0 (#89)
- dc86a4f chore(deps): bump xunit.runner.visualstudio from 2.4.1 to 2.4.2 (#90)
3.2.1
Changes:
- e755232 houeskeeping: Update version.json (#86) @RLittlesII
- 0a0eef1 housekeeping: Updated C# 8 Nullability (#87) @RLittlesII
- 36eabe1 chore(deps): bump stylecop.analyzers from 1.1.1-rc.114 to 1.1.118 (#38)
- a570401 chore(deps): bump Microsoft.SourceLink.GitHub (#65)
- 78642cb chore(deps): bump Roslynator.Analyzers from 2.1.0-rc to 2.3.0 (#74)
- 5c8c579 chore(deps): bump Nerdbank.GitVersioning from 2.3.38 to 3.1.74 (#79)
- 540d797 chore(deps): update splat requirement from 7.* to 9.* (#53)
- f20ce06 chore(deps): bump Microsoft.Reactive.Testing from 4.0.0 to 4.4.1 (#80)
- 5adab32 chore(deps): bump System.Reactive from 4.0.0 to 4.4.1 (#81)
- 5a99a30 chore(deps): bump Microsoft.NET.Test.Sdk from 16.0.1 to 16.6.1 (#84)
3.1.1
Overview
Update our Splat and DynamicData dependencies.
Changes:
- chore(deps): bump splat from 6.1.7 to 7.0.1 (#32) @dependabot[bot]
- chore(deps): bump DynamicData from 6.7.1.2534 to 6.8.0.2561 (#31) @dependabot[bot]
- housekeeping: Update to latest MsBuild.Sdk.Extras @glennawatson
3.0.17
Overview
Update to .NET Standard 2.0 and Reactive Extensions 4.0.
Changes:
- housekeeping: Add azure devops pipelines scripts (#29) @glennawatson
- feature: update to reactive 4 and netstandard 2 (#22) @Elonon
- use visual studio sdk project format @ghuntley
- fix: restrict system.reactive to 3.1.1 as min but never 4.x series (#20) @ghuntley
- chore: added CI release workflow @ghuntley
2.0.0
Punchclock is the low-level scheduling and prioritization library used by Fusillade to orchestrate pending concurrent operations.
What even does that mean?
Ok, so you've got a shiny mobile phone app and you've got async/await. Awesome! It's so easy to issue network requests, why not do it all the time? After your users one-:star2: you for your app being slow, you discover that you're issuing way too many requests at the same time.
Then, you try to manage issuing less requests by hand, and it becomes a spaghetti mess as different parts of your app reach into each other to try to
figure out who's doing what. Let's figure out a better way.
So many words, gimme the examples
var wc = new WebClient();
var opQueue = new OperationQueue(2 /*at a time*/);
// Download a bunch of images
var foo = opQueue.Enqueue(1,
() => wc.DownloadFile("https://example.com/foo.jpg", "foo.jpg"));
var bar = opQueue.Enqueue(1,
() => wc.DownloadFile("https://example.com/bar.jpg", "bar.jpg"));
var baz = opQueue.Enqueue(1,
() => wc.DownloadFile("https://example.com/baz.jpg", "baz.jpg"));
var bamf = opQueue.Enqueue(1,
() => wc.DownloadFile("https://example.com/bamf.jpg", "bamf.jpg"));
// We'll be downloading the images two at a time, even though we started
// them all at once
await Task.WaitAll(foo, bar, baz, bamf);Now, in a completely different part of your app, if you need something right
away, you can specify it via the priority:
// This file is super important, we don't care if it cuts in line in front
// of some images or other stuff
var wc = new WebClient();
await opQueue.Enqueue(10 /* It's Important */,
() => wc.DownloadFileTaskAsync("http://example.com/cool.txt", "./cool.txt"));As part of this release we had 4 issues closed.
Breaking change
- #16 implemented netstandard v1.0 and upgraded to
System.Reactive 3.0
Bug
- #15 added missing bool in equality comparison
Improvements
Where to get it
You can download this release from nuget.org
Punchclock 1.2.0
What's New
- Update PCL to support Windows Phone 8.1 Universal apps (#11, thanks @prasannavl!)
Punchclock 1.1.1
What's New
Bug Fixes
- Update to latest Rx
- Fix the portable library path to be compatible with WPA81 Portable Libraries
Punchclock 1.1.0
What's New
Adjusting maximum concurrent
Thanks to @pedroreys, Punchclock now allows adjusting the maximum amount of concurrent items. If the limit is lowered, in-flight operations are not canceled, the limit only affects items dispatched in the future.
Bug Fixes
- NuGet package now includes a dependency to Rx (#7)
- Passing in
nullfor the key now does not limit concurrency based on the key
Punchclock 1.0.1
What's New
New Task Methods
- Added new overloads of
Enqueueto omit optional parameters, thanks @TheAngryByrd!
Misc
- If an operation is queued but the operation is canceled before it is scheduled, the calculation function is no longer called
Punchclock 1.0.0
Initial Release