Wpis z mikrobloga

Mam cron który co minutę puszcza skrypt. Jak skrypt się nie może połączyć z bazą, to wysyła maila z logiem. Co mogę zrobić żeby ograniczyć wysyłkę tych maili np dodając minimalny czas jaki upłynął od wysyłki ostatniego maila?
(Kiedy przez godzinę baza leży, dostaje odpowiednio 60 maili)
Normalnie wbiłabym każdy wysłany w bazę, ale właśnie do bazy nie mogę się dostać
Ktoś wie może, czy da się to jakoś ładnie rozwiązać?
#programowanie
  • 14
  • Odpowiedz
  • 5
@Berbeluszka u mnie w januszsofcie takie coś robiliśmy jako aplikacje konsolowe w c# i w pliku trzymaliśmy datę ostatniej próby wysłania maila (zwiększana wtedy, gdy miał iść mail, ale niekoniecznie szedł, bo nie minęła odpowiednia ilość czasu)
  • Odpowiedz
  • 1
@Berbeluszka robienie czegoś takiego jest bardzo zawodnicze. Bo przyjdzie Ci jeden mail i możesz go przypadkiem ominąć a baza będzie dalej leżeć. Juz lepiej mieć kilkaset maili i ciągle przypominajki że baza leży niż jeden mail o którym można zapomnieć w ferworze pracy.
  • Odpowiedz
@Berbeluszka niech ten skrypt zajmuje się wyłącznie tym, czym pierwotnie miał się zajmować. Funkcje wysyłki maili przy braku możliwości połączenia z bazą przenieś do osobnego skryptu, który będzie się wykonywał rzadziej.
  • Odpowiedz
u mnie w januszsofcie takie coś robiliśmy jako aplikacje konsolowe w c# i w pliku trzymaliśmy datę ostatniej próby wysłania maila (zwiększana wtedy, gdy miał iść mail, ale niekoniecznie szedł, bo nie minęła odpowiednia ilość czasu)


@becvvv: To samo miałem napisać. @Berbeluszka
  • Odpowiedz
@ReduktorGowna:

niech ten skrypt zajmuje się wyłącznie tym, czym pierwotnie miał się zajmować. Funkcje wysyłki maili przy braku możliwości połączenia z bazą przenieś do osobnego skryptu, który będzie się wykonywał rzadziej.


hahahahahaha, odstaw uncle boba xD
  • Odpowiedz
@Berbeluszka pewnie jakiś log jest zapisywany do pliku - jak skrypt klęka przy połączeniu z bazą to sprawdzasz czy ostatnie uruchomienie skryptu również nie dobiło się do bazy, jeżeli tak to sprawdzasz ile razy, jak np 60 to dopiero wysyłasz ponownego maila.
  • Odpowiedz
@Berbeluszka: Jak masz to co minutę, to zapisuj do pliku np. liczbę wywołań i ją zwiększaj o jeden.
Potem prosty if, że jeśli się baza wysrała, to na początku wyślij maila, potem zwiększaj liczbę wywołań do takiej, jaką sobie ustawisz np. 30
Jak przekroczy to kolejny mail i reset licznika.
Jak się dobije do odwołanie na maila i też reset licznika.
  • Odpowiedz