I had a script which sends sms alerts everyday. I want it to send automatically send sms by fetching message from database. Can I do it without cron. Is there any other solution. Plz help
11 Answers
Have an outside AppEngine cron job sheduler: Use google AppEngine, it's free. The outside "task" can then "callback" a PHP script of yours.
I fail to see what's wrong with using the local cron on your machine though aside from it being blocked for you to access.
Comments
You have a couple of options:
Emulate cron behavior: In your php code, check if the page was loaded at, or close to, the time you wish to schedule the sendout for, if the messages havent been sent yet, load the script that sends the messages in the background and flag them as sent.
As others have suggested, setup a cronjob somewhere else that will execute a script on your server by fetching the url via http (by using wget for example)
Comments
you can include your script and have it run every time some one visits your homepage/login page etc... set up a table in mysql called time. query the database everytime the page is visited. if (time argument) {run the script in the background, update the new time in the DB}
All you have to do is fuigure out how often you want to send out your sms emails. Ex. 1 time per day database row "time" has a date in it. the date is lets say 24 hours ago. if the db row "time" is less than or equal to today minus one day 1 day , then run your script. this will run your script once per day.
The draw back -> someone needs to visit your site atleast once per day.
What is your website URL? What are you doing?
Comments
It's not optimal, but without using any kind of scheduler what you could do is this.
- Setup a header file for each page.
- Within the header file put your function / procedure that you would like to run.
- Make an if statement that checks the if the time is greater then or equal too the time you need your procedure to run and that it has not already been run.
Down sides of this is that:
- There is no guaranteed time of service.
- If your website does not get hits, then it might miss the window completely.
- Your adding at least 3 function calls to your page, not to mention the function calls required to check if this processes was done today, that might include a call to a MySQL server or flat file ...
cron?