Re: [PHP] Re: Event Handling
On Mon, 2010-03-15 at 18:07 +1030, David Robley wrote: Alex Major wrote: 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 think what you want is something to trigger a php script every $period-of-time; if your host supports it, cron is the means of executing an application at regular intervals down to a minute granularity. There are some web-based cron services also, but they may not have the same granularity as a locally based cron. Cheers -- David Robley Wow! barked Tom, with a bow. Today is Prickle-Prickle, the 1st day of Discord in the YOLD 3176. You could store the end times in the database, and cron can run a script that will check each of these times to find any that are within x minutes that an email hasn't been sent out for. You'll need an extra field to indicate whether an email has been sent or not. Thanks, Ash http://www.ashleysheridan.co.uk
Re: [PHP] Re: Event Handling
hey ash, do we need both of those checks ? ie the time and the flag? i think they both do the same thing ie prevent duplicates.. am i right? and i think flag would be a more reliable method coz it will ensure that the email will be send even if the cron fails to execute for some time, Midhun Girish Development Lead MobAlive Technologies Trivandrum On Mon, Mar 15, 2010 at 2:13 PM, Ashley Sheridan a...@ashleysheridan.co.ukwrote: On Mon, 2010-03-15 at 18:07 +1030, David Robley wrote: Alex Major wrote: 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 think what you want is something to trigger a php script every $period-of-time; if your host supports it, cron is the means of executing an application at regular intervals down to a minute granularity. There are some web-based cron services also, but they may not have the same granularity as a locally based cron. Cheers -- David Robley Wow! barked Tom, with a bow. Today is Prickle-Prickle, the 1st day of Discord in the YOLD 3176. You could store the end times in the database, and cron can run a script that will check each of these times to find any that are within x minutes that an email hasn't been sent out for. You'll need an extra field to indicate whether an email has been sent or not. Thanks, Ash http://www.ashleysheridan.co.uk
Re: [PHP] Re: Event Handling
On Mon, 2010-03-15 at 14:28 +0530, Midhun Girish wrote: hey ash, do we need both of those checks ? ie the time and the flag? i think they both do the same thing ie prevent duplicates.. am i right? and i think flag would be a more reliable method coz it will ensure that the email will be send even if the cron fails to execute for some time, Midhun Girish Development Lead MobAlive Technologies Trivandrum On Mon, Mar 15, 2010 at 2:13 PM, Ashley Sheridan a...@ashleysheridan.co.ukwrote: On Mon, 2010-03-15 at 18:07 +1030, David Robley wrote: Alex Major wrote: 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 think what you want is something to trigger a php script every $period-of-time; if your host supports it, cron is the means of executing an application at regular intervals down to a minute granularity. There are some web-based cron services also, but they may not have the same granularity as a locally based cron. Cheers -- David Robley Wow! barked Tom, with a bow. Today is Prickle-Prickle, the 1st day of Discord in the YOLD 3176. You could store the end times in the database, and cron can run a script that will check each of these times to find any that are within x minutes that an email hasn't been sent out for. You'll need an extra field to indicate whether an email has been sent or not. Thanks, Ash http://www.ashleysheridan.co.uk Consider a cron script that runs every 10 minutes. You'll want to check the db for cars that are due to arrive within just over 10 minutes. The flag is there more for you own clarification that the email has been sent. What if the cron fails, or you restart your server, or the script your cron calls is just running a little slowly? Thanks, Ash http://www.ashleysheridan.co.uk
Re: [PHP] Re: Event Handling
ok so we have a script which checks if any cars have arrived within last 10 minutes... if yes, a mail will be send. suppose the server fails for 30 minutes so when the cron comes next time, we will have to check for cars which arrived within last 40 minutes and not 10.. right... so how will we set a time limit in the script? its variable na.. but the flag is ok.. you can send a mail to all db entries which have flag 0 and then update the flag to 1. Midhun Girish Development Lead MobAlive Technologies On Mon, Mar 15, 2010 at 2:29 PM, Ashley Sheridan a...@ashleysheridan.co.ukwrote: On Mon, 2010-03-15 at 14:28 +0530, Midhun Girish wrote: hey ash, do we need both of those checks ? ie the time and the flag? i think they both do the same thing ie prevent duplicates.. am i right? and i think flag would be a more reliable method coz it will ensure that the email will be send even if the cron fails to execute for some time, Midhun Girish Development Lead MobAlive Technologies Trivandrum On Mon, Mar 15, 2010 at 2:13 PM, Ashley Sheridan a...@ashleysheridan.co.ukwrote: On Mon, 2010-03-15 at 18:07 +1030, David Robley wrote: Alex Major wrote: 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 think what you want is something to trigger a php script every $period-of-time; if your host supports it, cron is the means of executing an application at regular intervals down to a minute granularity. There are some web-based cron services also, but they may not have the same granularity as a locally based cron. Cheers -- David Robley Wow! barked Tom, with a bow. Today is Prickle-Prickle, the 1st day of Discord in the YOLD 3176. You could store the end times in the database, and cron can run a script that will check each of these times to find any that are within x minutes that an email hasn't been sent out for. You'll need an extra field to indicate whether an email has been sent or not. Thanks, Ash http://www.ashleysheridan.co.uk Consider a cron script that runs every 10 minutes. You'll want to check the db for cars that are due to arrive within just over 10 minutes. The flag is there more for you own clarification that the email has been sent. What if the cron fails, or you restart your server, or the script your cron calls is just running a little slowly? Thanks, Ash http://www.ashleysheridan.co.uk
Re: [PHP] Re: Event Handling
On Mon, 2010-03-15 at 14:40 +0530, Midhun Girish wrote: ok so we have a script which checks if any cars have arrived within last 10 minutes... if yes, a mail will be send. suppose the server fails for 30 minutes so when the cron comes next time, we will have to check for cars which arrived within last 40 minutes and not 10.. right... so how will we set a time limit in the script? its variable na.. but the flag is ok.. you can send a mail to all db entries which have flag 0 and then update the flag to 1. Midhun Girish Development Lead MobAlive Technologies On Mon, Mar 15, 2010 at 2:29 PM, Ashley Sheridan a...@ashleysheridan.co.uk wrote: On Mon, 2010-03-15 at 14:28 +0530, Midhun Girish wrote: hey ash, do we need both of those checks ? ie the time and the flag? i think they both do the same thing ie prevent duplicates.. am i right? and i think flag would be a more reliable method coz it will ensure that the email will be send even if the cron fails to execute for some time, Midhun Girish Development Lead MobAlive Technologies Trivandrum On Mon, Mar 15, 2010 at 2:13 PM, Ashley Sheridan a...@ashleysheridan.co.ukwrote: On Mon, 2010-03-15 at 18:07 +1030, David Robley wrote: Alex Major wrote: 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 think what you want is something to trigger a php script every $period-of-time; if your host supports it, cron is the means of executing an application at regular intervals down to a minute granularity. There are some web-based cron services also, but they may not have the same granularity as a locally based cron. Cheers -- David Robley Wow! barked Tom, with a bow. Today is Prickle-Prickle, the 1st day of Discord in the YOLD 3176. You could store the end times in the database, and cron can run a script that will check each of these times to find any that are within x minutes that an email hasn't been sent out for. You'll need an extra field to indicate whether an email has been sent or not. Thanks, Ash http://www.ashleysheridan.co.uk Consider a cron script that runs every 10 minutes. You'll want to check the db for cars that are due to arrive within just over 10 minutes. The flag is there more for you own clarification that the email has