przetwarzanie rozproszone - boinc

FORUM BOINC

Zaloguj się lub zarejestruj.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Witaj na forum poświęconemu wspieraniu nauki poprzez platformę BOINC. Pobierz i zacznij zmieniać świat od teraz
Czy uczestniczysz w Projekcie miesiąca?
Strony: [1]

Zaawansowany watchfolder. Ktoś może pomóc? (Przeczytany 627 razy)

PoznanskaPyra

  • Serwisant
  • Mechanik BOINC
  • BOINC Fanatyk
  • ****
  • Offline Offline
  • Wiadomości: 3 623
  • Avatar forum naukowego
  • Totalny świr Boinc-owy
    Potrzebuje stworzyć pod windowsem dość skomplikowany watchfolder i kompletnie nie wiem, jak się do tego zabrać.

    Jak by miał działać:

    Obserowanie danego folderu, jeżeli trafi tam plik, skrypt powinien sprawdzić czy w nazwie jest data, jeżeli jest, powinien wysłać plik do liczenia h264, równocześnie powinien sprawdzić jego wielkość, jeżeli ma ponad 3.5GB powinien zostać przeliczony do mpeg, jeżeli nie, to do AVI.

    Jeżeli w nazwie nie ma daty, skrypt powinien sprawdzić czy w nazwie znajdują się dane skróty (gosp, pd, pds, sm, sk) jeżeli znajdzie taki, plik powinien zostać sprawdzony czy ma ponad 3.5GB i jeżeli tak to przeliczony do mpeg, jeżeli nie to do AVI.

    Drugi skrypt powinien obserwować folder z plikami wynikowymi, jeżeli znajdzie tam plik z gosp w nazwie, to wrzuca go do folderu gospodarz, jeżeli pd to do folderu puls, jeżeli pds to do folderu skróty, jeżeli sm to do folderu pogoda, jeżeli sk to do folderu komunikacja.

    Czy można coś takiego stworzyć pod windowsem ?  %)

    Szopler

    • Radioaktywny
    • Grupa Reagowania Operacyjno-Manewrowego
    • Kalkulator
    • *****
    • Offline Offline
    • Wiadomości: 7 528
    • Avatar forum naukowego

      Zaawansowany watchfolder. Ktoś może pomóc?

      Odpowiedź #1 25 Marzec 2017, 06:22
      TJM zaraz napisze:

      Cytuj
      AutoIt!

      ;)

      cp

      • Liczydłowy
      • **
      • Offline Offline
      • Wiadomości: 737
      • Avatar forum naukowego

        Zaawansowany watchfolder. Ktoś może pomóc?

        Odpowiedź #2 25 Marzec 2017, 19:52
        Jeśli da się to stworzyć narzędziami UNIX-owymi (a na pierwszy rzut oka nie widzę tam żadnego warunku, którego nie dałoby się zaimplementować w skrypcie shellowym) to da się tymi samymi narzędziami pod windowsem z wykorzystaniem MinGW lub CygWin-a  %)
        edit: 25 Marzec 2017, 19:57 - cp

        goofyx

        • Fundacja
        • BOINC Fanatyk
        • *
        • Offline Offline
        • Wiadomości: 3 291
        • Avatar forum naukowego
        • Po prostu goofyx :)

          Zaawansowany watchfolder. Ktoś może pomóc?

          Odpowiedź #3 25 Marzec 2017, 23:03
          Z własnego doświadczenia znam 2 rozwiązania:
          1) albo ręcznie i samodzielnie obserwować dany katalog i np.:co 5sek (czy tam ile potrzebujesz) sprawdzać zmiany (coś jak svn itp).
          PROBLEM: jeśli katalog ma kilka tysięcy plików to czyna to obciążać system
          2) albo napisać usługę windowsa z obsługa uchwytów co do zdarzeń <- kopiowania, usuwania itp
          PROBLEM: na każdej wersji systemu (a czasami nawet po jakiś updejtach) może/działa to troszkę inaczej

          Troll81

          • Troll forumowy
          • Newsmani
          • Starszy Kalkulator
          • *****
          • Offline Offline
          • Wiadomości: 32 484
          • Avatar forum naukowego
          • Owoc żywota twojego je ZUS

            Zaawansowany watchfolder. Ktoś może pomóc?

            Odpowiedź #4 26 Marzec 2017, 09:11
            skrypt w PS który sprawdza delte folderu i w przypadku wykrycia róznic wykonuje odpowiednie akcje??

            krzyszp

            • Wszechstronny dyletant
            • Norway
            • Kalkulator
            • ***
            • Offline Offline
            • Wiadomości: 7 583
            • Avatar forum naukowego

              Zaawansowany watchfolder. Ktoś może pomóc?

              Odpowiedź #5 26 Marzec 2017, 21:23
              Swego czasu pisałem sobie zamiennik Dropboxa w .Net wykorzystując zdarzenia na plikach/katalogach... Nigdy więcej - biblioteki systemowe raportują KAŻDĄ zmianę, co powodowało przy zwykłym kopiowaniu miliony wywołań watchera, bo każde zapisanie kolejnego sektora jest widziane jako zmiana stanu pliku...
              Ominąłem to jakoś, jednak nigdy do końca idealnie mi to nie działało i w końcu dałem sobie spokój, nie miałem tygodnia wolnego na zabawę...

              Argento

              • Młodszy Liczydłowy
              • *
              • Offline Offline
              • Wiadomości: 444
              • Avatar forum naukowego
              • Ten, kto wolny, nad swym losem nie płacze.

                Zaawansowany watchfolder. Ktoś może pomóc?

                Odpowiedź #6 26 Marzec 2017, 21:42
                Potrzebuje stworzyć pod windowsem dość skomplikowany watchfolder i kompletnie nie wiem, jak się do tego zabrać.

                Może coś tutaj znajdziesz:
                https://technet.microsoft.com/en-us/library/ff730178(v=ws.10).aspx

                EDU Enthusiast

                • I never fin~ anyth...
                • Młodszy Liczydłowy
                • *
                • Offline Offline
                • Wiadomości: 480
                • Avatar forum naukowego
                • 404? I won't be fooled!

                  Zaawansowany watchfolder. Ktoś może pomóc?

                  Odpowiedź #7 26 Marzec 2017, 21:55
                  1) co bedziesz uzywal do liczenia h264, (musialbys znalezc cos co moznabyloby odpalic bez glowy <headless>)
                  2) Jak bedziesz zapisaywal swoja date?
                  3) Przyklad jak beda foldery wygladaly (c:\folder1 folder2 etc) ktore beda dla mpeg a ktore dla avi
                  4) jakie beda typy nazw i gdzie one beda isc do ktorych folderow.


                  moge ci napisac cos takiego co bedzie ci sortowala foldery wedlug nazwy, i wkladala nawzwe pliku do specyficznej execucji.

                  PoznanskaPyra

                  • Serwisant
                  • Mechanik BOINC
                  • BOINC Fanatyk
                  • ****
                  • Offline Offline
                  • Wiadomości: 3 623
                  • Avatar forum naukowego
                  • Totalny świr Boinc-owy

                    Zaawansowany watchfolder. Ktoś może pomóc?

                    Odpowiedź #8 26 Marzec 2017, 22:20
                    1. Obecnie używam x media recode, ale jest wiele darmowych konwerterów, pytanie który tobie najlepiej podpasuje.
                    2. Zapis daty w formacie np. 2017-03-26
                    3. Foldery wyjściowe planowałem 3, oddzielny dla każdego formatu. Nazwy gotowe-avi, gotowe-mpeg, gotowe-h264. Kontener dla h264, najlepiej mov. Ale to już kwestia encodera.
                    4. Nazwy muszą definiować typy generowanych plików. Jak pisałem, jeżeli plik ma pd_, pds_, sm_, sk_, gosp_, w nazwie i jest mniejszy niż 3.5GB = AVI, jeżeli więcej niż 3.5GB =mpeg.
                    Jeżeli pełna data jest w nazwie, to liczy go do h264 oraz do AVI lub mpeg w zależności od wielkości pliku.

                    Foldery wejściowe są zdalne na macierzy o ile robi to jakąś różnicę. Foldery wyjściowe mogą być lokalne.
                    edit: 26 Marzec 2017, 22:26 - PoznanskaPyra

                    TJM

                    • Grupa Reagowania Operacyjno-Manewrowego
                    • BOINC Fanatyk
                    • *****
                    • Offline Offline
                    • Wiadomości: 3 026
                    • Avatar forum naukowego
                    • Smokin` 5 clients to nachapać more

                      Zaawansowany watchfolder. Ktoś może pomóc?

                      Odpowiedź #9 28 Kwiecień 2017, 18:50
                      Potwierdzam to co wcześniej było napisane, skrypt autoita da się do tego napisać w mgnieniu oka.
                      Musiałoby to działać na takiej mniej więcej zasadzie:

                      1. listing zawartości folderu - są gotowe funkcje/UDFy zwracające zawartość folderu w postaci tablicy (z pamięci piszę ale chyba filelisttoarray)
                      2. przeszukanie zawartości tablicy z plikami szukając tych interesujących (od tego punktu w dół to już same proste funkcje wbudowane w autoita)
                      3. sprawdzenie atrybutów pliku (wielkość)
                      4. uruchomienie akcji na podstawie stwierdzonych parametrów - autoit umożliwia odpalenie zewnętrznej aplikacji na kilka sposobów, żaden problem puścić w tle coś nawet z okrutnie skomplikowaną linią poleceń
                      5. sleep i powrót do 1

                      ogólnie skrypt na paręnaście linijek, góra parędziesiąt bardziej odporny na błędy, + includowane ewentualnie UDFy.

                      EDIT: trzeba jeszcze przewidzieć jakąś obsługę plików które już skrypt "widział" ale idąc po linii najmniejszego oporu to nie jest trudne do zrobienia.

                      Jeśli będzie pełna specyfikacja mogę napisać taki skrypt jako browarware %) w ramach podtrzymywania skilla w autoicie  :D
                      edit: 28 Kwiecień 2017, 21:44 - TJM
                      Strony: [1]   Do góry

                      GoogleTagged


                      Hosting dzięki uprzejmości InnerVision sp. z o.o.
                      SMF © 2011, Simple Machines