Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [KOHANA]wysylanie powiadomien email
17misiek09
post 18.02.2012, 11:31:46
Post #1





Grupa: Zarejestrowani
Postów: 137
Pomógł: 8
Dołączył: 16.12.2011
Skąd: Kraków

Ostrzeżenie: (0%)
-----


mianowicie chodzi mi o wysylanie powiadomien email.
mam serwis ogloszeniowy, ktory zostal zrobiony w kohanie.
co zrobic, abym aplikacja sama mogla wysylac automatyczne powiadomienia email?
np ogloszenie skonczylo swoja waznosc wczoraj. aplikacja sprawdza sobie co 24 godziny czy jakies ogloszenie sie skonczylo, jesli tak to wysyla e-mail do wlasciciela ogloszenia, jesli nie to spi przez najblizsze 24 godziny.

niby mam cos co powinno dzialac, aczkolwiek nie dziala.


pewnie chodzi o crona, ale jak dodac zapytanie?

cos co powinno dzialac, a nie dziala wyglada tak:
  1. <?php
  2.  
  3. class Cron_Controller extends Controller
  4. {
  5.  
  6. public function do_jobs( $hash )
  7. {
  8. if( $hash != Kohana::config('config.cron_hash') )
  9. throw new Exception("Błędny parametr hash");
  10.  
  11. $this->_send_extend_emails();
  12. }
  13.  
  14. private function _send_extend_emails()
  15. {
  16. $adverts = new Adverts_Model();
  17. $emails = new Emails_Model();
  18. $yesterday_expired = $adverts->getYesterdayExpired();
  19. //echo kohana::debug($yesterday_expired);
  20. //die();
  21. foreach( $yesterday_expired as $advert )
  22. {
  23. $data = (array) $advert;
  24. $emails->send($data['contact_email'],null, 'Wygaśnięcie ogłoszenia', View::factory('emails/expired')->bind('data',$data)->render() );
  25. }
  26. }
  27.  
  28.  
  29.  
  30. }


a funkcja getYesterdayExpired() wyglada tak:
  1. public function getYesterdayExpired()
  2. {
  3. $yesterday = date('Y-m-d', mktime(0, 0, 0, date('m'), date('d')-1, date('Y')) );
  4. $this->db->where('expiry_date', $yesterday);
  5. $query = $this->db->get('advertisements');
  6. // die($query->last_query());
  7. return $query->as_array();
  8.  
  9. }


od razu poprosze o pomoc jak poprawnie dodac zapytanie do crona?
w tym momencie zapytanie wyglada mniej wiecej tak:
/home/cos231/domains/moja-domenta.pll/public_html/application/controllers/cron.php


--------------------
Lombi !! kłaniam Ci się od 00:45 dnia 2012-01-27 !! :)
Serdeczne dzięki !! :)

zespół na wesele?wejdź :)
ręcznie robione ozdoby, obrazy, figurki i wiele innych :) zapraszam :)
Go to the top of the page
+Quote Post
PiotrekM
post 18.02.2012, 11:38:09
Post #2





Grupa: Zarejestrowani
Postów: 130
Pomógł: 6
Dołączył: 20.12.2009

Ostrzeżenie: (0%)
-----


Twoje zapytanie nie ma prawa działać, bo wywołujesz od razu kontroler - a w KO plik index.php jest głównym plikie bootującym framework.

spróbuj wg. tego schematu:
Kod
php /path/to/index.php --uri=controller/action/etc/etc


Ten post edytował PiotrekM 18.02.2012, 11:40:18
Go to the top of the page
+Quote Post
17misiek09
post 18.02.2012, 11:49:12
Post #3





Grupa: Zarejestrowani
Postów: 137
Pomógł: 8
Dołączył: 16.12.2011
Skąd: Kraków

Ostrzeżenie: (0%)
-----


dodalem:
Kod
php /domains/mojadomena.pl/public_html/index.php --uri=controller/cron.php


nie generuje nawet bledu

Ten post edytował 17misiek09 18.02.2012, 11:50:15


--------------------
Lombi !! kłaniam Ci się od 00:45 dnia 2012-01-27 !! :)
Serdeczne dzięki !! :)

zespół na wesele?wejdź :)
ręcznie robione ozdoby, obrazy, figurki i wiele innych :) zapraszam :)
Go to the top of the page
+Quote Post
PiotrekM
post 18.02.2012, 11:56:10
Post #4





Grupa: Zarejestrowani
Postów: 130
Pomógł: 6
Dołączył: 20.12.2009

Ostrzeżenie: (0%)
-----


po pierwsze w Twoim kontrolerze nie ma żadnej akcji, którą mógłbyś wywołać.
Spróbuj zamiast do_job dać action_index

i w cronie:
Kod
php home/cos231/domains/moja-domenta.pll/public_html/index.php --uri=controller/cron/index
Go to the top of the page
+Quote Post
17misiek09
post 18.02.2012, 12:02:40
Post #5





Grupa: Zarejestrowani
Postów: 137
Pomógł: 8
Dołączył: 16.12.2011
Skąd: Kraków

Ostrzeżenie: (0%)
-----


hmm zero reakcji...

plik cron.php

znajduje sie w folderze controllers.

moze to cos da...w index.php nie mam zadnego odwolania do cron.php
---------------
edit: jednak reakcja jest - kod bledu:


Kod
Return-path: <cos231@s49.linuxpl.com>
Envelope-to: cos231@s49.linuxpl.com
Delivery-date: Sat, 18 Feb 2012 12:01:01 +0100
Received: from cos231 by s49.linuxpl.com with local (Exim 4.76)
    (envelope-from <cos231@s49.linuxpl.com>)
    id 1Ryi2H-0007c5-Fy
    for cos231@s49.linuxpl.com; Sat, 18 Feb 2012 12:01:01 +0100
From: root@s49.linuxpl.com (Cron Daemon)
To: cos231@s49.linuxpl.com
Subject: Cron <cos231@s49> php home/cos231/domains/moja-domena.pl/public_html/index.php --uri=controller/cron/index
Content-Type: text/plain; charset=ISO-8859-2
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/cos231>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=cos231>
Message-Id: <E1Ryi2H-0007c5-Fy@s49.linuxpl.com>
Date: Sat, 18 Feb 2012 12:01:01 +0100

/bin/sh: php: command not found


Ten post edytował 17misiek09 18.02.2012, 12:07:13


--------------------
Lombi !! kłaniam Ci się od 00:45 dnia 2012-01-27 !! :)
Serdeczne dzięki !! :)

zespół na wesele?wejdź :)
ręcznie robione ozdoby, obrazy, figurki i wiele innych :) zapraszam :)
Go to the top of the page
+Quote Post
PiotrekM
post 18.02.2012, 12:07:39
Post #6





Grupa: Zarejestrowani
Postów: 130
Pomógł: 6
Dołączył: 20.12.2009

Ostrzeżenie: (0%)
-----


a odwołując się przez przeglądarkę działa?
edit:

Kod
php home/cos231/domains/moja-domenta.pll/public_html/index.php --uri=cron/index


Ten post edytował PiotrekM 18.02.2012, 12:08:54
Go to the top of the page
+Quote Post
17misiek09
post 18.02.2012, 12:09:16
Post #7





Grupa: Zarejestrowani
Postów: 137
Pomógł: 8
Dołączył: 16.12.2011
Skąd: Kraków

Ostrzeżenie: (0%)
-----


nie moze dzialac, bo przeciez w index.php nie ma zadnego odwolania do funkcji ktora wysyla e-maile...


--------------------
Lombi !! kłaniam Ci się od 00:45 dnia 2012-01-27 !! :)
Serdeczne dzięki !! :)

zespół na wesele?wejdź :)
ręcznie robione ozdoby, obrazy, figurki i wiele innych :) zapraszam :)
Go to the top of the page
+Quote Post
PiotrekM
post 18.02.2012, 12:12:43
Post #8





Grupa: Zarejestrowani
Postów: 130
Pomógł: 6
Dołączył: 20.12.2009

Ostrzeżenie: (0%)
-----


Cytat
nie moze dzialac, bo przeciez w index.php nie ma zadnego odwolania do funkcji ktora wysyla e-maile...

jesteś pewny, że wiesz jak działają frameworki?
Go to the top of the page
+Quote Post
17misiek09
post 18.02.2012, 12:29:44
Post #9





Grupa: Zarejestrowani
Postów: 137
Pomógł: 8
Dołączył: 16.12.2011
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cytat(PiotrekM @ 18.02.2012, 12:12:43 ) *
jesteś pewny, że wiesz jak działają frameworki?

nie.

w takim razie co wkleic do przegladarki?

Kod
php home/cos231/domains/moja-domenta.pll/public_html/index.php --uri=cron/index


otwiera sie google...

a w cronie wciaz :
Kod
/bin/sh: php: command not found


--------------------
Lombi !! kłaniam Ci się od 00:45 dnia 2012-01-27 !! :)
Serdeczne dzięki !! :)

zespół na wesele?wejdź :)
ręcznie robione ozdoby, obrazy, figurki i wiele innych :) zapraszam :)
Go to the top of the page
+Quote Post
PiotrekM
post 18.02.2012, 12:42:53
Post #10





Grupa: Zarejestrowani
Postów: 130
Pomógł: 6
Dołączył: 20.12.2009

Ostrzeżenie: (0%)
-----


Kod
php home/cos231/domains/moja-domenta.pll/public_html/index.php --uri=cron/index

daj może slasha z przodu...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.06.2025 - 06:52