Resetting a MySQL Field value without user execution

后端 未结 4 672
庸人自扰
庸人自扰 2021-01-28 14:10

I need to reset a MySQL Field value automatically at midnight. It is a specific column in a specific row in a table. I know how to do this in PHP but I do not know how to execut

相关标签:
4条回答
  • 2021-01-28 14:39

    If you are running on linux you would use a cronjob

    On most distros there is a command called crontab that schedules tasks for you and a specific format you need:

    0 0 * * * php /path/to/file.php
    

    EDIT: Wrote this before you edited yours :p I'm not sure there is any other way. Do you have a specific reason not to use a cronjob?

    You may not even need to specify the php part if the php file is marked as executable i.e

    0 0 * * * /path/to/file.php
    

    Just do "chmod +x /path/to/file.php" form the linux command line

    0 讨论(0)
  • 2021-01-28 14:39

    You could write a job scheduler into your program that runs jobs in a cron-like way. It would require a user to interact with the system to trigger, but it might be good enough depending on your needs. This is much more complicated than just running a cronjob, and does not ensure prefect timing (since it wont run until a user hits a page).

    You'd probably need to add a table into you database that would list the job, the time you want them done, and a locking flag to avoid concurrent attempts to run the job. Each time your script runs, you'd check this table for overdue jobs and run them as needed.

    0 讨论(0)
  • 2021-01-28 14:45

    There are web based cron services too. Basically you set up an account and then they visit an URL of your choosing at a regular interval. On your server you set up a page that does what you need to get done. Preferably give it a unlikely-to-find-name like myjob789273634ahhh8s2nhw8sghusgf874wfu.php. You get the idea. (Remember that PHP-scripts timeout after like 30secs.)

    Here's a google search: **oops I'm new so I can't post URL apparently. Just search for "web based cron".

    Good luck /0

    0 讨论(0)
  • 2021-01-28 14:57

    Asking how to reliably set off a script at the same time every night without cron (or a scheduled task, on Windows) is like asking how to make a dynamic website without a server-side language.

    If your app absolutely relies on a script running exactly at midnight, cron is a requirement. If your users have a hosting company that (stupidly) does not permit cron, they're going to be out of luck.

    0 讨论(0)
提交回复
热议问题