Cron Job

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • th1982
    New Member
    • Feb 2008
    • 51

    Cron Job

    I have a question :
    I m using window host and i dont have either cronjob function and schedule task (i asked host provider ,they said they donnot have it)
    So have any scripts(php,jav ascript....) to do this work(running a file on server with specific time)?
    Thanks so much.
  • TheServant
    Recognized Expert Top Contributor
    • Feb 2008
    • 1168

    #2
    In a word no. You see, php, javascript, html etc are all only "run" when they are called. So when a user goes there is one of two ways it can be called. The second way is if a server automatically runs it. This is usually done with cronjobs and is really what you need.

    May I ask which provider you're with?

    What does the file do that you want to run in a cronjob? Maybe there is a way around it?

    Comment

    • th1982
      New Member
      • Feb 2008
      • 51

      #3
      Thanks TS!!! they are my local provider,i m sure you dont know them.
      I want to run a script to import data from xml file to mysql.it will be run everyday at specific time.
      are any solutions for it?
      Thanks

      Comment

      • dlite922
        Recognized Expert Top Contributor
        • Dec 2007
        • 1586

        #4
        Originally posted by th1982
        Thanks TS!!! they are my local provider,i m sure you dont know them.
        I want to run a script to import data from xml file to mysql.it will be run everyday at specific time.
        are any solutions for it?
        Thanks
        yes there is.

        from a computer that has internet access around the time you want to run it, and do a scheduled task/cron job that calls a PHP file that does exactly that.

        Good luck.

        Comment

        • TheServant
          Recognized Expert Top Contributor
          • Feb 2008
          • 1168

          #5
          I think that's what we're talking about? But yeah, if your provider doesn't offer it, you will need to schedule it on your own computer and so it has to be on. If it is only once a day, this isn't too big a task. A lot of mine (will) run every 10mins, so it's really impossible for me to use that option.

          Actually, I have thought of another way. It's a little fiddley, but it should work. What you is you have a small bit of code at login (or a common page) that checks the time against when the last time your file was run. So you need to have another MySQL table which just stores the last time it was run.

          When the user (anyone) goes to your site and logs in, a bit of code will run and check if the current time is over 24 hours from the last run time. If it is, it will execute that file and do what you want. If not, it will continue as normal.

          I know it's probably been done before, but I've never heard of it, so for the next 5mins we will pretend that I am a genius ;)

          Comment

          • Markus
            Recognized Expert Expert
            • Jun 2007
            • 6092

            #6
            Originally posted by TheServant
            I think that's what we're talking about? But yeah, if your provider doesn't offer it, you will need to schedule it on your own computer and so it has to be on. If it is only once a day, this isn't too big a task. A lot of mine (will) run every 10mins, so it's really impossible for me to use that option.

            Actually, I have thought of another way. It's a little fiddley, but it should work. What you is you have a small bit of code at login (or a common page) that checks the time against when the last time your file was run. So you need to have another MySQL table which just stores the last time it was run.

            When the user (anyone) goes to your site and logs in, a bit of code will run and check if the current time is over 24 hours from the last run time. If it is, it will execute that file and do what you want. If not, it will continue as normal.

            I know it's probably been done before, but I've never heard of it, so for the next 5mins we will pretend that I am a genius ;)
            What if noone visits the page for months?

            OR EVEN YEARS?!

            I don't believe it's too hard to, on your own pc, use windows schedule task manager.

            Regards.

            Comment

            • th1982
              New Member
              • Feb 2008
              • 51

              #7
              Thanks so much!!!
              but when i use schedule task ,i can only see the applications on my computer.How can i set to run a php file on server ?sorry,i m first time using this task .
              Thanks
              best regards

              Comment

              • oberon
                New Member
                • Mar 2008
                • 14

                #8
                Hi!
                In your schedule you'll need to specify an application or a script that does the task of calling your remote script url.
                You could for example call a web browser with the url as argument. A more elegant alternative would be to write a VB script to call the url. An example VB script can be as follows:
                Code:
                'scriptfile.vbs
                Call LogEntry()
                Sub LogEntry()
                        On Error Resume Next
                        Dim objRequest
                        Dim URL
                        Set objRequest = CreateObject("Microsoft.XMLHTTP")
                        URL = "http://YOUR-URL"
                        objRequest.open "POST", URL , false
                        objRequest.Send
                        Set objRequest = Nothing
                End Sub
                Hope this could be of help.

                Comment

                • Markus
                  Recognized Expert Expert
                  • Jun 2007
                  • 6092

                  #9
                  Originally posted by th1982
                  Thanks so much!!!
                  but when i use schedule task ,i can only see the applications on my computer.How can i set to run a php file on server ?sorry,i m first time using this task .
                  Thanks
                  best regards
                  Just open your task scheduler, then select your internet browser as the action (giving the url of your script as an extra argument).

                  Regards.

                  Comment

                  Working...