我已经在我的w10环境中使用Microsoft的webplatform安装程序设置了一个Magento商店,该安装程序负责处理先决条件(PHP,MySQL等),并且能够一次导入一个产品来自Windows应用程序的SOAP。
然而,性能并不高,因为我需要能够一次性地将大量产品导入Magento(一次100个......),我偶然发现并安装了MAGMI。
使用MAGMI,我已经能够通过CSV手动成功导入产品(优秀指南:https://aionhill.com/product-import-magmi)但我现在需要能够自动化这个MAGMI流程但不知道如何
有很多关于使用Windows任务调度程序和cron作业来设置自动化任务的讨论,但生产环境将始终基于LAMP技术,因此cron就是这样。
http://www.unixgeeks.org/security/newbie/unix/cron-1.html解释了什么是cron作业,但它说要做以下事情以确定cron守护程序是否正在运行:" cog @ pingu $ ps aux | grep crond" ...
An article's answer here讨论如何在Magento中设置cron作业(系统>配置>高级>系统> Cron(计划任务)),但我看到的只有:
当我在我的机器上查找php.exe并运行它时,我得到的是一个看起来什么都不做的黑盒子:
我猜我需要访问PHP服务器的GUI(Plesk GUI?)才能在我的windows环境中设置一个cron作业,并且能够关注MAGMI's wiki guide on how to set up MAGMI so that it can be driven froma command line 但是我该如何做呢?
微软的WebMatrix和MySQL Workbench允许我查看文件和数据库,我可以通过浏览器网址进入Magento商店,但这就是它。
最终,我的Windows应用程序将管理整个过程:创建CSV数据文件,将它们FTP到网络服务器,然后启动MAGMI以开始导入过程。
非常感谢指针。
答案 0 :(得分:1)
PHP没有GUI。 PHP是一个脚本解析器。执行php.exe时,您将获得命令行界面,您可以在其中编写PHP代码并执行它...
同样在Windows中没有cron作业,但正如你所知,有一些名为" Task Scheduler"。请查看https://technet.microsoft.com/en-us/library/cc748993(v=ws.11).aspx如何使用它。
答案 1 :(得分:1)
Process myProcess = new Process();
ProcessStartInfo myProcessStartInfo = new ProcessStartInfo(@"""C:\PHP\php.exe""", "spawn");
myProcessStartInfo.UseShellExecute = false;
myProcessStartInfo.RedirectStandardOutput = true;
myProcessStartInfo.Arguments = "/path/to/magmi/cli/magmi.cli.php -profile=profilename -mode=xcreate -CSV:filename='/path/to/file.csv'"
myProcess.StartInfo = myProcessStartInfo;
myProcess.Start();
我没有测试过这个,但它应该做你需要它做的事情。它允许你从应用程序启动magmi的导入脚本,假设它可以访问该机器上的php目录。