Τρέξιμο κώδικα κάθε τέλος του μήνα και κάθε 15 του μήνα

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
philos
Δημοσιεύσεις: 264
Εγγραφή: 30 Αύγ 2007 23:32

Τρέξιμο κώδικα κάθε τέλος του μήνα και κάθε 15 του μήνα

Δημοσίευση από philos » 29 Δεκ 2014 22:52

Λοιπόν, έχουμε ένα σύστημα sessions (συλλογής πόντων - αλλά δεν είναι αυτό το θέμα μας).
Κάθε τέλος του μήνα (31 ή 30 ή 28 για τον Φεβρουάριο) στις 11:59μμ και κάθε 15 του μήνα την ίδια ώρα, το τρέχον session λήγει.

Χρησιμοποιώ ένα ψευδο cron php, το οποίο τρέχει κάθε 10 λεπτά και κοιτάει αν το τρέχον session (μιας που ένα session τρέχει κάθε φορά), χρειάζεται να κλείσει. Το κλείνει και ξεκινάει ένα άλλο.

Στον database πίνακα που αποθηκεύω τα δεδομένα, έχω το column start_dateline το οποίο έχει την timestamp που ξεκίνησε το session.

Πως μπορώ να τσεκάρω αν είναι η ώρα να κλείσει;

Μια λύση θα ήταν:

Κώδικας: Επιλογή όλων

          $time_should_passed = $sessioninfo['start_dateline'] + (15*86400);
          if (TIMENOW > $time_should_passed)
          {
            $runnow = true;
          }
          else
          {
            $runnow = false;
          }

if ($runnow)
{
// κλείσε το session και άνοιξε καινούργιο
}
... αλλά θα δούλευε μόνο αν όλοι οι μήνες είχαν 30 ημέρες.
Αν πχ είμαστε στον Φεβρουάριο ή σε μήνα με 31 ημέρες, υπάρχει απόκλιση.
Το TIMENOW περιέχει τη σφραγίδα χρόνου του τώρα.

Καμιά ιδέα; :)

Άβαταρ μέλους
philos
Δημοσιεύσεις: 264
Εγγραφή: 30 Αύγ 2007 23:32

Τρέξιμο κώδικα κάθε τέλος του μήνα και κάθε 15 του μήνα

Δημοσίευση από philos » 30 Δεκ 2014 00:00

Και κάτι άλλο:
Πως μπορώ να έχω για τον τρέχον μήνα:
α) την timestamp της τελευταίας ημέρας του και ώρα 11:59μμ
β) την timestamp της 14ης ημέρας και ώρα 11:59μμ

Ευχαριστώ :)

alou
Script Master
Δημοσιεύσεις: 1374
Εγγραφή: 24 Αύγ 2007 19:52
Επικοινωνία:

Τρέξιμο κώδικα κάθε τέλος του μήνα και κάθε 15 του μήνα

Δημοσίευση από alou » 30 Δεκ 2014 03:39

Η δυσκολία σου για την τελευταία μέρα του μήνα λύνεται πολύ εύκολα με την cal_days_in_month
http://php.net/manual/en/function.cal-days-in-month.php

και το t στην date
http://php.net/manual/en/function.date.php

Η 15η μέρα δε νομίζω ότι έχει κάποια δυσκολία, με δεδομένο ότι σε κάθε περίπτωση χρησιμοποιείς το έτος και το μήνα του "σήμερα", απλά έχεις και το d σαν 14 και h:i σαν 11:59

Το πως θα σε βολέψει να το χρησιμοποιήσεις νομίζω καλύτερα να το βρείς μόνος σου.

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Τρέξιμο κώδικα κάθε τέλος του μήνα και κάθε 15 του μήνα

Δημοσίευση από Rapid-eraser » 30 Δεκ 2014 13:29

1 και 15 το ίδιο πράγμα δεν είναι γιατί να παιδεύεσαι τσάμπα;
Ούτως η άλλος σε cron θα το βάλεις αν θες να τρέχει περιοδικά.
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες