Що я зараз маю, можна підсумувати цим псевдокодом:
public static void Main(string[] args)
{
var listOfObjects = Database.GetObjectsToUploadToOnlineService();
Parallel.ForEach(Upload)
}
private static void Upload(MyUploadObject obj)
{
//Build object (takes a few milliseconds)
//Format to JSON (takes a few more milliseconds)
//Upload (can take up to a max of 10 minutes)
//Wait for a response (can take up to a max of 10 minutes)
//Save response to our database (takes a few milliseconds)
}
Ця програма просто налаштована на наш сервер як заплановане завдання. Ми володіємо програмою і можемо робити з нею все, що хочемо. Моє запитання випливає з блогу щодо автоматизованих перевірок моніторингу (у мене немає зручного посилання).
Тож це змусило мене задуматися: Як у світі я можу змінити свою програму, щоб я міг запустити ще одну програму моніторингу? Або це має змінитись від того, щоб бути консольною програмою, щоб сказати, що прихована програма WPF ?
В цілому, я вважаю за краще мати змогу просто запустити програму на своєму комп’ютері, яка перевіряє хід програми через мережу, тому мені не доведеться RDP на сервер, щоб перевірити його стан (але це не було б бути кінцем світу).
В цілому, я вважаю, що я хотів би побачити вікно, в якому написано щось на зразок: Обробити x до y, обробляються наступні елементи. Перерахуйте елементи, як-от таблицю, і скажіть, як "Завантаження" або "Чекаю на відповідь". Можливо, якщо я з’їду з розуму, я міг би також зробити чергу чергових невдалих предметів (але це було б просто зайвим).
Мій розум продовжує схилятися до події, але я не можу зрозуміти, як би я запустив програму, яка може передплатити і скасувати підписку на запущену програму. Це навіть можливо?