Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Imap - wielkość plików
Forum PHP.pl > Forum > PHP
szubi95
Cześć!

Piszę małą aplikację, której zadaniem jest pobieranie maili z danej skrzynki, formatowanie jej i przesyłanie do chmury(np Dropbox). Odnośnie formatowania:

- tekst zapisywany w formacie html
- załączniki(rar, zip) rozpakowywane do danego folderu
- całość przesyłana

i tutaj pojawia się moje pytanie:

Czy dla php wielkość powyżej 20Mb będzie miała tutaj znaczenie(określony czas wykonywania skryptu)? Np jakbym chciał taki załącznik 200mb pobrać, rozpakować i przesłać do chmury? Czy lepiej coś takiego pisać w innym języku?



Pozdrawiam,
szubi
kajzur
Cześć,
ogólnie pewnie będzie miał znaczenie. Zrób to może tak że pobranie elementów wydeleguj do jakiejś kolejki zadań.. Np Celery tongue.gif
szubi95
A czy mógłbyś mi to troszkę rozwinąć? Jakiś mały przykład z php?
kajzur
W swoim pliku z PHPa stwórz tylko tablicę z danymi które pozwolą jednoznacznie określić jaki plik należy ściągnąć (np. nazwę czy ID wiadomości email). Taką mapę podajesz jako parametr do zadania w Celery. Zadanie w Celery to kawałek kodu w Pythonie który pobierać będzie Ci ten plik na podstawie podanych parametrów.
Celery to implementacja kolejki zadań, więc kilka plików może być jednocześnie pobieranych a jeśli zadań jest zakolejkowanych więcej niż jest workerów które je przetwarzają - będą one czekać w kolejce. Nie musisz martwić sie czasem wykonania bo dzieje się to asynchornicznie.

Pierwszy lepszy klient do Celery w PHPie -https://github.com/gjedeer/celery-php
destroyerr
Cytat
Czy dla php wielkość powyżej 20Mb będzie miała tutaj znaczenie(określony czas wykonywania skryptu)? Np jakbym chciał taki załącznik 200mb pobrać, rozpakować i przesłać do chmury? Czy lepiej coś takiego pisać w innym języku?

Tak, będzie miało znaczenie. Będzie miało znaczenie dla każdego dowolnie wybranego języka. Natomiast czas pobierania i wysyłania pliku przez sieć będzie na tyle duży, że szybkość środowiska w jakim to wykonasz schodzi na drugi plan. Rozpakowywanie też nie będzie wolniejsze od innych środowisk bo i tak nie jest zaimplementowane w php. Jeżeli znasz php to nie ma potrzeby szukać innych języków.
kajzur
Odkopuję gdyż napisałem na temat kolejek wpis na blogu, więc może się przydać - https://mmazur.eu.org/asynchroniczna-kolejk...ej-pliki-wideo/
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.