Thready 1.0.0-rc5

This is a prerelease version of Thready.
dotnet add package Thready --version 1.0.0-rc5
NuGet\Install-Package Thready -Version 1.0.0-rc5
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Thready" Version="1.0.0-rc5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Thready --version 1.0.0-rc5
#r "nuget: Thready, 1.0.0-rc5"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Thready as a Cake Addin
#addin nuget:?package=Thready&version=1.0.0-rc5&prerelease

// Install Thready as a Cake Tool
#tool nuget:?package=Thready&version=1.0.0-rc5&prerelease

Thready <img src="./logo.png" height="60" width="60" >

The little helper for your annoying background tasks.

General Information

Thready helps you with running a function in a background thread with a specified timeout.

Installation

Apart from this installation technic described below you can use VS22 NuGet Manager or the Rider NuGet UI. For an IDE-agnostic installation it is best to use the command below to install the NuGet package in your project.

dotnet add package Thready

This will install the latest, stable version. To install a specific version you can define it like so (replace {VERSION} with the version you want to install):

dotnet add package Thready --version {VERSION}

Example:

dotnet add package Thready --version 1.0.0-alpha

Usage

(If you want to see some code you can find a sample app right here in this repo) After installing the package you can build your first 'worker' with these steps:

var worker = new ThreadyWorker(async(ct) => Console.WriteLine("This will get printed periodically"), async() => Console.WriteLine("This will get executed right before stopping"), TimeSpan.FromSeconds(1));

await worker.StartAsync();
// Your other code here...
await worker.StopAsync(forceStop: false);

Contribute

Pull requests are more than welcome! To contribute, it's best to create an issue first and talk about the change you want to bring into this project. After that, simply fork the repo, pull your forked repo local to your PC, create an appropriate feature-branch (naming example: feat/999_my-awesome-feature, this boils down to: {TYPEOFCHANGE}/{ISSUENUMBER}_{SHORTDESCRIPTION}).

You can now do your coding in this branch. After you are done, push your changes to your forked repo and create a Pull Request to this repo

Acknowledgements

Thanks 'Good Ware' for the logo (Hobbies and free time icons created by Good Ware - Flaticon)

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0-rc5 94 12/9/2022
1.0.0-rc4 81 12/7/2022
1.0.0-rc3 84 12/7/2022
1.0.0-rc2 92 12/7/2022
1.0.0-rc1 98 12/7/2022