Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ PHP _ Sprawdzanie ważności usług [cron]

Napisany przez: miras 30.04.2012, 17:01:57

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!

Napisany przez: strife 30.04.2012, 20:23:01

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.

Napisany przez: miras 30.04.2012, 21: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 ?

Napisany przez: strife 30.04.2012, 23:08:37

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/user-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

Napisany przez: miras 1.05.2012, 15:00:48

A piszę panel hostingowy dla usług radiowych (shoutcasty itd.)

Dzięki wielkie!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)