Mailing wykonywany w tle

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.

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.

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]

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