Projektdateien hinzufügen.

This commit is contained in:
mr_sc
2026-08-19 19:27:41 +02:00
parent 0889f1f6c7
commit 7fe54c0785
32 changed files with 2406 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
using System;
using System.Configuration;
using System.IO;
using FileInterface.Scheduler;
namespace FileinterfaceCronScheduler
{
internal static class RuntimeFactory
{
public static SchedulerRuntime Create()
{
string baseDir = AppDomain.CurrentDomain.BaseDirectory;
string cronConfigFile = Get("Scheduler.ConfigFile", "cronjobs.json");
string watcherConfigFile = Get("Watcher.ConfigFile", "watcherjobs.json");
if (!Path.IsPathRooted(cronConfigFile)) cronConfigFile = Path.Combine(baseDir, cronConfigFile);
if (!Path.IsPathRooted(watcherConfigFile)) watcherConfigFile = Path.Combine(baseDir, watcherConfigFile);
var options = new SchedulerOptions
{
ConfigFile = cronConfigFile,
WatcherConfigFile = watcherConfigFile,
WebPrefix = Get("Scheduler.WebPrefix", "http://127.0.0.1:8095/"),
WebUser = Get("Scheduler.WebUser", "admin"),
WebPassword = Get("Scheduler.WebPassword", "admin")
};
var invoker = new ImsCustomFunctionInvoker();
try
{
invoker.Connect();
return new SchedulerRuntime(invoker, options, invoker);
}
catch
{
invoker.Dispose();
throw;
}
}
private static string Get(string key, string fallback)
{
string value = ConfigurationManager.AppSettings[key];
return String.IsNullOrWhiteSpace(value) ? fallback : value.Trim();
}
}
}