Wordpress:在后台运行任务

时间:2015-06-05 18:18:22

标签: php wordpress asynchronous woocommerce

在我的WooCommerceShop中,用户上传图片。需要在服务器端处理(调整大小,修剪,...)此图像。目前,它完成了一个AJAX请求,所以用户必须等待结果,它需要超过20秒,很多时间!

如何在后台运行流程?所以我基本上想要触发图像处理操作,它应该在后台运行,用户需要能够更改他当前的网站。

我读了很多关于WP_CRON的内容,但这似乎不是正确的,因为我不想安排行动。我发现的另一件事是TechCrunch的异步任务库(http://techcrunch.com/2014/07/31/wp-async-task-our-new-open-source-library/),但我无法让它运行。

这种问题通常如何解决?谢谢!

1 个答案:

答案 0 :(得分:1)

通常,许多框架可以简单地使用排队类(例如Laravel,Zend等)以及类似Beanstalkd或Amazon SQS ......但据我所知,WordPress和WooCommerce都有这样的一类。也就是说,Zapier有一些东西可以将WooCommerce与Amazon SQS联系起来,但它可能不是你想要的东西。您将来可能会有一些自定义编码,您需要更改或扩展WooCommerce代码。 WP_CRON可以工作,但您首先需要找到进行图像处理的脚本。然后,您可以将执行upload-> image_processing的脚本更改为只上传到特定目录的脚本。您需要有一些方法来识别该图像所属的用户/项目/文件(如文件命名约定)。然后,你可以拥有WP_CRON(或者如果你有访问权限只是常规的cron作业)运行一个处理该目录中图像的脚本,甚至可以使用你从上传过程中删除的原始WooCommerce代码。我希望这至少可以帮助你走上正确的轨道,但是你所需要的东西可能无法通过一个简单的盒子来解决。溶液