| Termin | Definicja |
|---|---|
| planowanie wysyłki | Planowanie wysyłki to wyznaczenie terminu doręczenia kampanii z uwzględnieniem strefy czasowej odbiorców. Termin wysyłki a strefa czasowa odbiorcyPlanowanie wysyłki polega na określeniu chwili, w której system ma przekazać wiadomość do kolejki wysyłkowej albo rozpocząć jej doręczanie. W kampaniach kierowanych do osób mieszkających w różnych regionach nie wystarcza zapis godziny, na przykład 9:00, bez informacji o strefie czasowej. Godzina 9:00 w Warszawie oznacza inną chwilę niż 9:00 w Londynie, Nowym Jorku czy Tokio. System powinien więc przechowywać termin razem z identyfikatorem strefy, a nie tylko jako tekst wyświetlany w formularzu. W praktyce aplikacja może przyjąć lokalną datę i godzinę odbiorcy, przeliczyć ją na czas UTC, a następnie użyć tego momentu do uruchomienia zadania. Dla Warszawy właściwym identyfikatorem strefy używanym przez bazę IANA jest Europe/Warsaw. Taki identyfikator pozwala uwzględniać zmiany czasu urzędowego zapisane w bazie stref czasowych. Sam stały offset, na przykład UTC+01:00, nie opisuje poprawnie całego roku, ponieważ w okresie czasu letniego Warszawa używa UTC+02:00. Jak aplikacja wyznacza moment rozpoczęcia kampaniiBezpieczny przepływ danych zaczyna się od zebrania kilku odrębnych wartości: daty, godziny, strefy czasowej oraz listy adresatów lub segmentu odbiorców. Formularz może pokazywać użytkownikowi czas lokalny, ale warstwa aplikacji powinna sprawdzić, czy data jest prawidłowa, godzina mieści się w zakresie od 00:00 do 23:59, a strefa istnieje w używanym katalogu. Następnie termin lokalny jest zamieniany na jednoznaczny znacznik czasu, najczęściej przechowywany w UTC wraz z pierwotną strefą do celów prezentacji i późniejszej edycji. Podczas wykonywania kampanii mechanizm planujący wyszukuje zadania, których czas uruchomienia już nastąpił, i przekazuje je do kolejki. Kolejka może rozdzielać pracę na partie, dlatego zaplanowana godzina oznacza zwykle początek procesu, a nie gwarantowaną chwilę odebrania wiadomości przez każdego adresata. System pocztowy może dodać opóźnienie wynikające z limitu wysyłki, chwilowej niedostępności usługi, ponowienia po błędzie albo kontroli poprawności adresu. W logach powinny być rozróżnione co najmniej: czas utworzenia planu, zaplanowany czas rozpoczęcia, czas pobrania zadania przez worker, czas przekazania wiadomości oraz wynik doręczenia. Zmiana czasu, opóźnienia i ponowne uruchamianie zadańStrefy czasowe nie są prostym przesunięciem od UTC. W wybranych dniach występują przejścia czasu standardowego na letni i odwrotnie. W efekcie niektóre lokalne godziny mogą wystąpić dwa razy, a inne nie wystąpić wcale. Aplikacja planująca wysyłkę powinna mieć zdefiniowaną regułę dla takich przypadków. Może odrzucić niejednoznaczny termin, automatycznie wybrać wcześniejsze lub późniejsze wystąpienie albo poprosić użytkownika o ponowne wskazanie godziny. Cicha zamiana wartości może prowadzić do rozpoczęcia kampanii o innej porze niż oczekiwana. Istotne jest również oddzielenie planowania od obsługi awarii. Jeżeli worker przestanie działać po pobraniu zadania, ponowne uruchomienie procesu nie powinno tworzyć drugiej kopii tej samej kampanii. Stosuje się do tego identyfikator zadania, stan wykonania oraz mechanizm blokady lub bezpiecznego przejęcia zadania przez inny proces. Status powinien wskazywać, czy kampania jest zaplanowana, uruchomiona, zakończona, anulowana lub oczekuje na ponowienie. Dla błędów tymczasowych, takich jak przekroczenie limitu lub niedostępność połączenia, można zaplanować kolejną próbę; błędy trwałe, na przykład niepoprawny adres, powinny zakończyć obsługę konkretnego odbiorcy bez nieskończonego ponawiania. Kontrola konfiguracji przed zaplanowaniem wysyłkiPrzed zapisaniem kampanii warto sprawdzić, czy komputer użytkownika ma poprawnie ustawioną datę i godzinę, a przeglądarka przekazuje prawidłową strefę czasową. Nie zawsze jednak ustawienia lokalnego urządzenia powinny decydować o terminie kampanii. Jeżeli użytkownik pracuje z laptopa w innej strefie niż odbiorcy, aplikacja musi jasno pokazać, czy wybrana godzina dotyczy autora planu, konkretnego kraju, czy każdej osoby osobno. Podgląd powinien zawierać przeliczoną datę, nazwę strefy i informację, czy używany jest czas letni. Przydatna jest także kontrola testowa obejmująca małą grupę adresatów i kilka wariantów stref czasowych. Należy porównać wartości zapisane w bazie z wartościami wyświetlanymi w panelu oraz sprawdzić, czy anulowanie planu rzeczywiście usuwa zadanie z kolejki. W przypadku edycji kampanii system powinien jednoznacznie ustalić, czy zmieniany jest istniejący plan, czy tworzony nowy. Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i podzespołów, dlatego przy problemach z lokalnym działaniem panelu planowania można zweryfikować stan systemu, zegara oraz połączenia sieciowego na używanym komputerze. |