Re: [PHP] Event Handling
--- On *Mon, 3/15/10, David Hutto dwightdhu...@yahoo.com* wrote: From: David Hutto dwightdhu...@yahoo.com Subject: Re: [PHP] Event Handling To: php-general@lists.php.net, Alex Major p...@allydm.co.uk Date: Monday, March 15, 2010, 3:34 AM --- On Mon, 3/15/10, Alex Major p...@allydm.co.ukhttp://us.mc453.mail.yahoo.com/mc/compose?to=...@allydm.co.uk wrote: From: Alex Major p...@allydm.co.ukhttp://us.mc453.mail.yahoo.com/mc/compose?to=...@allydm.co.uk Subject: [PHP] Event Handling To: php-general@lists.php.nethttp://us.mc453.mail.yahoo.com/mc/compose?to=php-gene...@lists.php.net Date: Monday, March 15, 2010, 2:59 AM Greetings all, I'm currently looking at building a web application, however I've run into an area of development I've not come across before. The web site in its basic form allows users to send cars from a point and then the car will arrive at another point. When the car is set on its way, the start time, travel duration and end time are all known and stored in a MySQL database, what I would like to happen is that an event is triggered on the server at the end time and then an e-mail is sent to the user. This should happen regardless of whether someone is browsing the website or not. I don't believe that I'll be able to solely use PHP, I have spent the afternoon trying to look at potential solutions but I have to admit I've drawn a blank. Google hasn't been helpful (64 pages so far), as any searches related to event handling bring up a load of JavaScript tutorials/help for 'onclick' events etc. I have searched through the PHP documentation and found libevent (http://www.php.net/manual/en/book.libevent.php ), I don't believe that is what I require (although in all honesty the lack of documentation on it means I'm quite in the dark as to its purpose). Another potential candidate I came across was a PHP/Java bridge (http://php-java-bridge.sourceforge.net/pjb/ ), whereby I could use the java virtual machine, register events with it and then callback PHP scripts, although this seems extremely long winded. I was hoping that someone might have some experience with this kind of issue and could point me in the right direction. I'm sure I've missed something right in front of me. Alex. I'm a noob at php myself, but what you might want to look at is cron jobs and autoresponders. Here's an address to one I've messed with before: infinite.ibasics.biz/ I believe it uses cron jobs, I've messed with a lot so it's hard to recall. You might want to have the web app insert the new info in the tables, and have the cron job and script do the rest. David
Re: [PHP] Event Handling
Hi , Just as David Hutto has said,What you need is the cronjob... Make a script say check.php which checks the db to see if any new entries are made... and if yes send the mail ... now using the cronjob feature in linux os(which will be provided as a service in your linux hosting cpanel), set a cronjob which calls the http://www.yoursite.com/check.php; URL every minute now a trigger will be there every minute to the script and the emails will be send irrespective of whether anyone is browsing the site or not hope it is clear... Midhun Girish Development Lead MobAlive Technologies On Mon, Mar 15, 2010 at 1:10 PM, David Hutto smokefl...@gmail.com wrote: --- On *Mon, 3/15/10, David Hutto dwightdhu...@yahoo.com* wrote: From: David Hutto dwightdhu...@yahoo.com Subject: Re: [PHP] Event Handling To: php-general@lists.php.net, Alex Major p...@allydm.co.uk Date: Monday, March 15, 2010, 3:34 AM --- On Mon, 3/15/10, Alex Major p...@allydm.co.uk http://us.mc453.mail.yahoo.com/mc/compose?to=...@allydm.co.uk wrote: From: Alex Major p...@allydm.co.uk http://us.mc453.mail.yahoo.com/mc/compose?to=...@allydm.co.uk Subject: [PHP] Event Handling To: php-general@lists.php.net http://us.mc453.mail.yahoo.com/mc/compose?to=php-gene...@lists.php.net Date: Monday, March 15, 2010, 2:59 AM Greetings all, I'm currently looking at building a web application, however I've run into an area of development I've not come across before. The web site in its basic form allows users to send cars from a point and then the car will arrive at another point. When the car is set on its way, the start time, travel duration and end time are all known and stored in a MySQL database, what I would like to happen is that an event is triggered on the server at the end time and then an e-mail is sent to the user. This should happen regardless of whether someone is browsing the website or not. I don't believe that I'll be able to solely use PHP, I have spent the afternoon trying to look at potential solutions but I have to admit I've drawn a blank. Google hasn't been helpful (64 pages so far), as any searches related to event handling bring up a load of JavaScript tutorials/help for 'onclick' events etc. I have searched through the PHP documentation and found libevent (http://www.php.net/manual/en/book.libevent.php ), I don't believe that is what I require (although in all honesty the lack of documentation on it means I'm quite in the dark as to its purpose). Another potential candidate I came across was a PHP/Java bridge (http://php-java-bridge.sourceforge.net/pjb/ ), whereby I could use the java virtual machine, register events with it and then callback PHP scripts, although this seems extremely long winded. I was hoping that someone might have some experience with this kind of issue and could point me in the right direction. I'm sure I've missed something right in front of me. Alex. I'm a noob at php myself, but what you might want to look at is cron jobs and autoresponders. Here's an address to one I've messed with before: infinite.ibasics.biz/ I believe it uses cron jobs, I've messed with a lot so it's hard to recall. You might want to have the web app insert the new info in the tables, and have the cron job and script do the rest. David
Re: [PHP] Event Handling
Alex Major wrote: I'm currently looking at building a web application, however I've run into an area of development I've not come across before. The web site in its basic form allows users to send cars from a point and then the car will arrive at another point. When the car is set on its way, the start time, travel duration and end time are all known and stored in a MySQL database, The question HAS to be asked ... how do you know the actual travel time ;) I think I would be expecting to have to enter something on arrival -- Lester Caine - G8HFL - Contact - http://lsces.co.uk/wiki/?page=contact L.S.Caine Electronic Services - http://lsces.co.uk EnquirySolve - http://enquirysolve.com/ Model Engineers Digital Workshop - http://medw.co.uk// Firebird - http://www.firebirdsql.org/index.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Event Handling
On Mon, Mar 15, 2010 at 5:17 AM, Lester Caine les...@lsces.co.uk wrote: Alex Major wrote: I'm currently looking at building a web application, however I've run into an area of development I've not come across before. The web site in its basic form allows users to send cars from a point and then the car will arrive at another point. When the car is set on its way, the start time, travel duration and end time are all known and stored in a MySQL database, The question HAS to be asked ... how do you know the actual travel time ;) I think I would be expecting to have to enter something on arrival -- Lester Caine - G8HFL - Contact - http://lsces.co.uk/wiki/?page=contact L.S.Caine Electronic Services - http://lsces.co.uk EnquirySolve - http://enquirysolve.com/ Model Engineers Digital Workshop - http://medw.co.uk// Firebird - http://www.firebirdsql.org/index.php -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php You could judge the ETA if the shipping was tracked through GPS.
Re: [PHP] Event Handling
rene a page with an ajax script that kicks off the check-for-recent-events script on the server.. but that method is highly non reliable i dont think anyone will take that risk especially for an important web app cron or any equivalent which runs on the server must be used instead of that.. Midhun Girish Development Lead MobAlive Technologies On Mon, Mar 15, 2010 at 6:08 PM, Jochem Maas joc...@iamjochem.com wrote: Op 3/15/10 12:00 PM, David Hutto schreef: On Mon, Mar 15, 2010 at 7:31 AM, Jochem Maas joc...@iamjochem.com wrote: Op 3/15/10 8:24 AM, Midhun Girish schreef: Hi , Just as David Hutto has said,What you need is the cronjob... Make a script say check.php which checks the db to see if any new entries are made... and if yes send the mail ... now using the cronjob feature in linux os(which will be provided as a service in your linux hosting cpanel), set a cronjob which calls the http://www.yoursite.com/check.php; URL every minute now a trigger will be there every minute to the script and the emails will be send irrespective of whether anyone is browsing the site or not hope it is clear... use cron - yes have cron call a web URL - no, instead just call the script via the php CLI sapi, e.g. a cmdline as follows in cron: /usr/env php /path/to/your/check.php /dev/null I do believe removing the /dev/null will send error messages during the building of the script, correct? the ' /dev/null' redirects all output - I kind of make the assumption that the script would be logging stuff to a file or something when in production. so, yes, remove the redirection when your developing/testing the script.
Re: [PHP] Event Handling
On Mon, 2010-03-15 at 18:28 +0530, Midhun Girish wrote: rene a page with an ajax script that kicks off the check-for-recent-events script on the server.. but that method is highly non reliable i dont think anyone will take that risk especially for an important web app cron or any equivalent which runs on the server must be used instead of that.. Midhun Girish Development Lead MobAlive Technologies On Mon, Mar 15, 2010 at 6:08 PM, Jochem Maas joc...@iamjochem.com wrote: Op 3/15/10 12:00 PM, David Hutto schreef: On Mon, Mar 15, 2010 at 7:31 AM, Jochem Maas joc...@iamjochem.com wrote: Op 3/15/10 8:24 AM, Midhun Girish schreef: Hi , Just as David Hutto has said,What you need is the cronjob... Make a script say check.php which checks the db to see if any new entries are made... and if yes send the mail ... now using the cronjob feature in linux os(which will be provided as a service in your linux hosting cpanel), set a cronjob which calls the http://www.yoursite.com/check.php; URL every minute now a trigger will be there every minute to the script and the emails will be send irrespective of whether anyone is browsing the site or not hope it is clear... use cron - yes have cron call a web URL - no, instead just call the script via the php CLI sapi, e.g. a cmdline as follows in cron: /usr/env php /path/to/your/check.php /dev/null I do believe removing the /dev/null will send error messages during the building of the script, correct? the ' /dev/null' redirects all output - I kind of make the assumption that the script would be logging stuff to a file or something when in production. so, yes, remove the redirection when your developing/testing the script. I agree. Even setting a cron on a local computer to call home to a server script would be preferable to Ajax calls. Thanks, Ash http://www.ashleysheridan.co.uk
RE: [PHP] Event Handling
Thanks to all for your help on this, it's been very interesting for me to read. The system needs to check arrivals in real time (give or take a second or two), using a cron job every minute doesn't provide the real time checking I would like. However, when I then got to thinking about it, wouldn't this be an ideal solution? I create a PHP script that loops for 60 seconds, checking the database each second for new entries and processing them (meaning I get near real time monitoring), and then have that PHP script called by a cron job every minute. The reason I think that could be a good solution for me, is that if the PHP script crashed (for any reason), then at most it's 59 seconds before the system kicks in again and begins processing all the queued arrivals. If I coded a PHP script to loop infinitely processing things every second, it's possible I wouldn't notice a crash for a considerable amount of time. The proposed solution provides a good fail-safe, I think. Does that solution seem sensible? Or overkill? Thanks again for your help in this, it's quite novel for me. -Original Message- From: Ashley Sheridan [mailto:a...@ashleysheridan.co.uk] Sent: 15 March 2010 12:56 To: Midhun Girish Cc: Jochem Maas; David Hutto; php-general@lists.php.net; Alex Major Subject: Re: [PHP] Event Handling On Mon, 2010-03-15 at 18:28 +0530, Midhun Girish wrote: rene a page with an ajax script that kicks off the check-for-recent-events script on the server.. but that method is highly non reliable i dont think anyone will take that risk especially for an important web app cron or any equivalent which runs on the server must be used instead of that.. Midhun Girish Development Lead MobAlive Technologies On Mon, Mar 15, 2010 at 6:08 PM, Jochem Maas joc...@iamjochem.com wrote: Op 3/15/10 12:00 PM, David Hutto schreef: On Mon, Mar 15, 2010 at 7:31 AM, Jochem Maas joc...@iamjochem.com wrote: Op 3/15/10 8:24 AM, Midhun Girish schreef: Hi , Just as David Hutto has said,What you need is the cronjob... Make a script say check.php which checks the db to see if any new entries are made... and if yes send the mail ... now using the cronjob feature in linux os(which will be provided as a service in your linux hosting cpanel), set a cronjob which calls the http://www.yoursite.com/check.php; URL every minute now a trigger will be there every minute to the script and the emails will be send irrespective of whether anyone is browsing the site or not hope it is clear... use cron - yes have cron call a web URL - no, instead just call the script via the php CLI sapi, e.g. a cmdline as follows in cron: /usr/env php /path/to/your/check.php /dev/null I do believe removing the /dev/null will send error messages during the building of the script, correct? the ' /dev/null' redirects all output - I kind of make the assumption that the script would be logging stuff to a file or something when in production. so, yes, remove the redirection when your developing/testing the script. I agree. Even setting a cron on a local computer to call home to a server script would be preferable to Ajax calls. Thanks, Ash http://www.ashleysheridan.co.uk -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Event Handling
On Mon, Mar 15, 2010 at 05:38:04PM -, Alex Major wrote: Thanks to all for your help on this, it's been very interesting for me to read. The system needs to check arrivals in real time (give or take a second or two), using a cron job every minute doesn't provide the real time checking I would like. However, when I then got to thinking about it, wouldn't this be an ideal solution? I create a PHP script that loops for 60 seconds, checking the database each second for new entries and processing them (meaning I get near real time monitoring), and then have that PHP script called by a cron job every minute. The reason I think that could be a good solution for me, is that if the PHP script crashed (for any reason), then at most it's 59 seconds before the system kicks in again and begins processing all the queued arrivals. If I coded a PHP script to loop infinitely processing things every second, it's possible I wouldn't notice a crash for a considerable amount of time. The proposed solution provides a good fail-safe, I think. Does that solution seem sensible? Or overkill? Thanks again for your help in this, it's quite novel for me. I would think that the PHP CLI extension would need to be installed on the server for this to work. I don't know that that's common. (I could be completely wrong.) I would recommend coding this in C, because it would use far less resources. Paul -- Paul M. Foster -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Event Handling
Indeed. This is kinda offtopic but if you put a cron running with a loop you will kill your server. I would recomend use libevent + ALARM signal to process on a time basis. On the other hand using C would be a nice aproach since you can put your script on an sleep mode until the next alarm signal is trigered + less resources taken Saludos On 3/15/10, Paul M Foster pa...@quillandmouse.com wrote: On Mon, Mar 15, 2010 at 05:38:04PM -, Alex Major wrote: Thanks to all for your help on this, it's been very interesting for me to read. The system needs to check arrivals in real time (give or take a second or two), using a cron job every minute doesn't provide the real time checking I would like. However, when I then got to thinking about it, wouldn't this be an ideal solution? I create a PHP script that loops for 60 seconds, checking the database each second for new entries and processing them (meaning I get near real time monitoring), and then have that PHP script called by a cron job every minute. The reason I think that could be a good solution for me, is that if the PHP script crashed (for any reason), then at most it's 59 seconds before the system kicks in again and begins processing all the queued arrivals. If I coded a PHP script to loop infinitely processing things every second, it's possible I wouldn't notice a crash for a considerable amount of time. The proposed solution provides a good fail-safe, I think. Does that solution seem sensible? Or overkill? Thanks again for your help in this, it's quite novel for me. I would think that the PHP CLI extension would need to be installed on the server for this to work. I don't know that that's common. (I could be completely wrong.) I would recommend coding this in C, because it would use far less resources. Paul -- Paul M. Foster -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Sent from my mobile device Gabriel Sosa Si buscas resultados distintos, no hagas siempre lo mismo. - Einstein -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Event Handling
On Mon, 2010-03-15 at 20:02 -0300, Gabriel Sosa wrote: Indeed. This is kinda offtopic but if you put a cron running with a loop you will kill your server. I would recomend use libevent + ALARM signal to process on a time basis. On the other hand using C would be a nice aproach since you can put your script on an sleep mode until the next alarm signal is trigered + less resources taken Saludos On 3/15/10, Paul M Foster pa...@quillandmouse.com wrote: On Mon, Mar 15, 2010 at 05:38:04PM -, Alex Major wrote: Thanks to all for your help on this, it's been very interesting for me to read. The system needs to check arrivals in real time (give or take a second or two), using a cron job every minute doesn't provide the real time checking I would like. However, when I then got to thinking about it, wouldn't this be an ideal solution? I create a PHP script that loops for 60 seconds, checking the database each second for new entries and processing them (meaning I get near real time monitoring), and then have that PHP script called by a cron job every minute. The reason I think that could be a good solution for me, is that if the PHP script crashed (for any reason), then at most it's 59 seconds before the system kicks in again and begins processing all the queued arrivals. If I coded a PHP script to loop infinitely processing things every second, it's possible I wouldn't notice a crash for a considerable amount of time. The proposed solution provides a good fail-safe, I think. Does that solution seem sensible? Or overkill? Thanks again for your help in this, it's quite novel for me. I would think that the PHP CLI extension would need to be installed on the server for this to work. I don't know that that's common. (I could be completely wrong.) I would recommend coding this in C, because it would use far less resources. Paul -- Paul M. Foster -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php -- Sent from my mobile device Gabriel Sosa Si buscas resultados distintos, no hagas siempre lo mismo. - Einstein Using cron won't kill the server! Cron isn't only for scheduled tasks but repeated ones as well and is perfect for running in the background on a server all the time. Thanks, Ash http://www.ashleysheridan.co.uk