Mailing wykonywany w tle

Mailing wykonywany w tle
nansss
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 134
0

Cześć,

W serwisie posiadam wysyłanie mailingu do użytkowników, którzy zezwolili na jego wysyłkę. Treść podaje przez panel administratora i klikam przycisk wyślij. Przykładowo mam 20 użytkowników, którzy zezwolili na wysyłkę. Niestety dopóki nie zostaną wysłane maile do wszystkich akcja się wykonuje i nie mogę zrobić nic innego na stronie bo przerwę wykonywanie skryptu.

Jak powinienem to rozwiązać, żeby mailing wysyłał się w tle. Pomyślałem przez chwilę o AJAXie, ale nie bardzo mam pomysł.

Z góry dziękuje za podpowiedzi.

Pawilonek
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Rzeszów
  • Postów: 54
0

Możesz wszystkie meile, gotowe do wysyłki, zapisywać w konkretnym folderze. I za pomocą crona odpalać skrypcik, np co 5 min., który będzie wysyłał wszystkie (lub po kilka) meile z tego folderu.

kchteam
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Tychy
  • Postów: 155
0

Do tego typu rzeczy służą tzw. kolejki, np.: https://www.rabbitmq.com/
Ogólnie mówiąc, działa to tak, że w Twoim skrypcie tylko wysyłasz do kolejki zadanie do wykonania. Kolejka zbiera te zadania (dlatego nazywa się kolejką - bo je kolejkuje) i uruchamia skrypty, które "odbierają" poszczególne zadania. W Twoim konkretnym przypadku w skrypcie do kolejki przekazywałbyś listę odbiorców, a w drugim (tym uruchamianym przez kolejkę) dopiero wysyłałbyś maile.

Pozostaje kwestia co zrobić w przypadku błędów wysyłki.

[Adam]

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.