wordpress cron task

2020-05-08 17:12发布

I would like to add an intensive task (lets say 5 minutes execution time) into Wordpress using cron job.

I been using this code to add new cron task inside the Wordpress system.

wp_schedule_event(time(), "interval-name", "hook-name");

I read somewhere in the net that cron task will be executed when there is request hit the Wordpress (either in the public site or the admin). Can anybody acknowledge that is true?

If that the case then I should not put my intensive task into cron task, because it will make user wait for long time after the task finished. What should I do now?

Anybody experienced this situation? Any suggestion? I think to create a new page to be executed by crontab (for example http://example.com/wp-content/plugins/plugin-example/intensive-task.php)

2条回答
兄弟一词,经得起流年.
2楼-- · 2020-05-08 17:41

If you would use regular cronjob that wouldn't be the case but i suspect that wp does what you said, since that would make it versatile working in different hosts with different setups as long as they have php and mysql running independent from real cronjobs which must be installed by the web host separately

查看更多
▲ chillily
3楼-- · 2020-05-08 18:02

The wordpress documentation says that it will be run when someone visits your site, so yes, you're correct. It will only be one user that gets a slow page load, so it's up to you if you want to avoid that.

If you are running it from a regular con job, there's no need to make it a page on your site though; especially if it's an intensive job, as you say, then this could easily be exploited place a large load on your server. You can easily run php from the command line to execute your job safely and without causing any slow load times on your page.

查看更多
登录 后发表回答