Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sprawdzanie ważności usług [cron]
Forum PHP.pl > Forum > PHP
miras
Witam, mam pewien dylemat, piszę pewien skrypt transakcyjny gdzie będzie się wykupowało usługę na określony okres czasu, który będzie zapisany w bazie, jeżeli ważność usługi się skończy to, żeby zablokowało ją, albo tam usunęło - to już mniejsza.. Myślałem tak, żeby zrobić plik np. sprawdz.php ustawić na niego crona co 1min, a w tym pliku pętla sprawdzająca rekordy z bazy od pierwszego do ostatniego i jeżeli ważność się skończyła to usuwanie rekordu etc. Nic mi więcej nie przychodzi do głowy - macie może jakiś lepszy niezawodny sposób ? Jeżeli tak to proszę o podzielenie się informacją..

Dzięki z góry!
strife
Hej,

Nie widzę potrzeby usuwania rekordu. Oczywiście możesz to zrobić, ale potem w ramach czyszczenia bazy (jeżeli musisz). Dostęp do usługi powinien być dyktowany zapytaniem, jeżeli czas_aktualny < czas_końca_usługi i tyle. Nie potrzeba tutaj crona.

Crona możesz odpalić, potem jak będziesz chciał się pozbyć tych rekordów. I tutaj też sobie zrobisz zapytanie ale odwrotne.

  1. DELETE FROM services WHERE czas_aktualny >= czas_konca_uslugi


Pzdr.
miras
masz rację w 100% z tym, że ja powinienem dodać do pierwszego postu, że tymi sprzedawanymi 'usługami' będą serwery, które będzie trzeba zabić po skończeniu ważności, na to macie jakiś sposób ?
strife
Cytat(miras @ 30.04.2012, 22:45:33 ) *
masz rację w 100% z tym, że ja powinienem dodać do pierwszego postu, że tymi sprzedawanymi 'usługami' będą serwery, które będzie trzeba zabić po skończeniu ważności, na to macie jakiś sposób ?


Ciekawe hm smile.gif

Z kontami na serwerze (shared) jest dosyć łatwo ponieważ można im ustawić expiration date. https://help.ubuntu.com/8.04/serverguide/us...management.html. Gorzej z całymi serwerami.

Już rozumiem po co Ci cron, więc ok zgadza się możesz go użyć albo stworzyć sobie jakiegoś daemona. I teraz ja bym to rozwiązał tak.

Trzymam sobie gdzieś dane wszystkich serwerów jakie posiadam w jakiejś stałej formie (pliku), aby nie obciążać za bardzo bazy danych, która będzie czytania bardzo często.

Dane miałbym w formie:

Kod
serwer | data_wygasniecia
a1 | 2012-05-20
a2 | 2012-05-20


Gdzie a1, a2 itp. to nazwy serwerów, mogą to być też IPki. I teraz skrypt który stworzysz by robił to samo co napisałem w moim poprzednim poście. Tylko musisz znaleźć sposób na to aby ubijać te serwery skutecznie.

A tak na marginesie po co robisz coś takiego, skoro jest sporo gotowych skryptów (konta resellerskie), dzięki którym masz już taki cały pakiet oprogramowania?

http://www.cpanel.net/products/cpanelwhm/try-demo.html
miras
A piszę panel hostingowy dla usług radiowych (shoutcasty itd.)

Dzięki wielkie!
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-2020 Invision Power Services, Inc.