TaskRunner/TaskRunner/Program.cs

47 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Threading.Tasks;
using CommandLine;
using CommandLine.Text;
namespace TaskRunner
{
public class Options
{
[Option("server", HelpText="Task source server", Required = true)]
public string server { get; set; }
[HelpOption]
public string GetUsage()
{
return HelpText.AutoBuild(this, (HelpText current) => HelpText.DefaultParsingErrorsHandler(this, current));
}
}
public class Program
{
public static void Main(string[] args)
{
MainAsync(args).Wait();
}
static async Task MainAsync(string[] args)
{
var options = new Options();
if (Parser.Default.ParseArguments(args, options))
{
Console.WriteLine($"Waiting for tasks from server: {options.server}");
var server = new ServerApi(new Uri(options.server));
var task = await server.GetTask();
Console.WriteLine(task);
var taskManager = new TaskManager();
await taskManager.RunFfmpeg();
} else {
Console.WriteLine(options.GetUsage());
}
}
}
}