Porada dot. schematu programu.

0

Witam,
Jako, że sam nie mam doświadczenia w pisaniu systemu w c# i innym wysokim c... prosiłbym o wypowiedź(i) kogoś doświadczonego :)
Wpierw opiszę co chcę osiągnąć - z interfejsu webowego (php) do bazy trafią dane. Na serwerze ma chodzić usługa (w c#)- ot taki sobie scheduler, która ma cyklicznie (powiedzmy co 5 minut) sprawdzać czy jest coś do zrobienia (dane z inter. webowego w bazie) - jeśli jest, to usługa powinna wyzwolić program (również w c#) obliczający dane dla sztucznej sieci neuronowej.
I teraz pytanie (problem) - mam dwa pomysły.
Pierwszy - osobno usługa stale działająca i za pomocą klasy System.Diagnostics.Process wyzwalająca program uczenia sieci (uczenie trzeba będzie przeprowadzić dla ponad 100 obiektów) - uczenie powinno odbywać się w godzinach nocnych - trzeba serwer oszczędzać za dnia.
Drugi pomysł - zamknąć proces uczenia w kodzie usługi i wywoływać go w osobnym wątku.
W przypadku pierwszego widzę oszczędność pamięci, w drugim łatwiejszą implementację. Zastanawiam się czy w obecnych czasach te kilka, może i kilkanaście mb pamięci ram jest warte zachodu. I tu zwracam się z prośbą do kogoś doświadczonego by rozjaśnił moje myśli :) Ewentualnie czy jest coś lepszego do pomysłu pierwszego niż system.diagnostics.process. Proszę też pamiętać że całość musi powstać w visual studio express edition.
Serdecznie dziękuję Łukasz

0

pomysl 2 wg mnie sensowniejszy, zabawy z innymi procesami brzydko pachnia :)
pamietaj tez ze proces uczenia sie moze trwac dluzej niz tick timera, jesli tak sie stanie to chyba powinienes poczekac az ten obecny sie skonczy
uczenie i tak powinienes enkapsulowac w jakiejs klasie czy bibliotece (w koncu piszemy obiektowo) i w sumie bez wiekszej roznicy czy odpali to inny watek czy proces
ale od czasu laborek na studiach nie widzialem jeszcze zeby ktos w tego typu sytuacjach uzywal osobnego procesu - watku tak

0

Wielkie dzięki massther. Podobną odpowiedź otrzymałem też na innym forum więc nie ma co ukrywać, że raczej nie będę się już pchać w osobne programy. Dodatkowo tam jeszcze wspomniano o problemie wykrzaczenia się programu uczącego o czym nie zostałaby poinformowana usługa...

"Zrobienie wszystkiego w jednej usłudze jest rozwiązanie trochę lepszym, bo możesz obsłużyć jakieś sytuacje wyjątkowe i podjąć jakieś działania; podczas gdy przy pierwszym rozwiązaniu uruchomisz aplikację, w niej wystąpi wyjątek, aplikacja się zamknie a Ty nic o tym nie będziesz wiedział." mykhaylo

Jeszcze raz serdecznie dziękuję :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1