我们有几个更新,我们想通过模块的升级脚本运行。其中一个大约需要5分钟才能完成。

我们不确定的问题是该站点非常活跃。

因此,当我们将升级脚本推向生产时,它将如何表现?

当人们击中站点直到最终完成一个实例时,升级脚本会不断运行多次吗?

Magento是否足够聪明,只能运行一个实例(即使尚未完成并且其他人正在访问网站)?

我们在Magento EE 1.9上。

有帮助吗?

解决方案

从理论上讲,是的。我已经看到升级脚本多次运行 - 这就是为什么我创建的任何升级脚本加载cms,eav或其他属性信息通常被编码以保护多个插入。

最佳实践:

使用SSH,从Magento文档根中运行以下内容:

touch maintenance.flag

这将在您的Magento Root中创建一个名为“ Vaintenance.flag”的文件,该文件将在此升级期间有效地将您的商店脱机。如果您在非高峰或过夜时间内跑步,则停机时间相对安全。

通过从源控制结帐或通过首选的部署方法运行更新/拉动来升级您的Magento商店。要执行您的升级,您可以发行:

php index.php - 再次从文档根。这将启动您的升级。

您可以通过实现index.php解决方案(读取:hack)来允许自己访问CMS部分(如果您不想通过SSH自己运行升级脚本),该方法允许特定的IP地址通过跳过维护.flag文件的检查来访问特定的IP地址:

$ip = $_SERVER['REMOTE_ADDR'];

$allowed = array('1.1.1.1','2.2.2.2'); // these are the IP's allowed

并更换此行:

if (file_exists($maintenanceFile)) {

与此行:

if (file_exists($maintenanceFile) && !in_array($ip, $allowed)) { 

资源: http://inchoo.net/ecommerce/magento/maintenance-mode-in-magento/

简而言之, 恢复以清理升级的多次执行可能会导致停机时间更长 比您刚刚将商店开始。在执行升级之前,请多次计划维护并在分期环境中进行练习。

许可以下: CC-BY-SA归因
scroll top