Comprehensive job scheduling solution with a library for database, file, HTTP/API, and email operations, plus a CLI tool for creating and managing scheduled jobs across Windows, Linux, and macOS.
Two powerful packages that work together to streamline job scheduling and automation.
Library Package
Simple APIs for common job operations including database access, file operations, HTTP/API calls, and email.
CLI Tool (njobs)
Cross-platform CLI for creating and managing scheduled jobs using Task Scheduler (Windows) or crontab (Linux/macOS).
Everything you need to automate and schedule tasks in your .NET applications.
Simple API for database operations using Tuxedo with support for multiple database providers.
Complete file and directory management with async support for I/O operations.
Flexible API client for HTTP calls with multiple authentication methods.
Send emails via any SMTP server using MailKit with full feature support.
Create and manage scheduled jobs across different platforms with cron expressions.
Execute C# scripts and native projects as scheduled jobs.
Get started with Noundry.Jobs in seconds using your preferred package manager.
Add the library to your .NET projects for database, file, HTTP, and email operations.
Install the njobs CLI globally to manage scheduled jobs from the command line.
See how easy it is to work with Noundry.Jobs library and CLI.
#!/usr/bin/env dotnet-script
#r "nuget: Noundry.Jobs, 1.0.0"
using Noundry.Jobs.Database;
var db = new JobsDb("Server=localhost;Database=mydb;", DatabaseType.SqlServer);
// Clean up old records
await db.ExecuteAsync("DELETE FROM Logs WHERE CreatedAt < @Date",
new { Date = DateTime.UtcNow.AddDays(-30) });
Console.WriteLine("Cleanup completed!");
# Create a job that runs daily at 2 AM
$ njobs create DailyCleanup cleanup.csx "0 2 * * *"
✓ Job 'DailyCleanup' created successfully
# List all jobs
$ njobs list
# Show job details
$ njobs show DailyCleanup
# Delete a job
$ njobs delete DailyCleanup
#!/usr/bin/env dotnet-script
#r "nuget: Noundry.Jobs, 1.0.0"
using Noundry.Jobs.Api;
using Noundry.Jobs.Database;
using Noundry.Jobs.Email;
// Fetch data from API
using var api = new JobsApi();
api.WithBearerToken(token).WithBaseUrl("https://api.example.com");
var data = await api.GetAsync<List<Record>>("/records");
// Save to database
var db = new JobsDb(connectionString, DatabaseType.SqlServer);
foreach (var record in data)
await db.InsertAsync(record);
// Send email notification
using var email = new JobsEmail()
.Configure("smtp.gmail.com", 587, user, pass)
.UseStartTls();
await email.SendAsync("admin@example.com", "admin@example.com",
$"Synced {data.Count} records", "Sync completed");
Comprehensive guides and API references to help you get the most out of Noundry.Jobs.