从命令行更新Prestashop中的产品数量

从命令行更新Prestashop中的产品数量,prestashop,prestashop-1.7,Prestashop,Prestashop 1.7,我在Prestashop 1.7.6中创建了一个模块,通过两种方式更新产品库存: 在后台(模块的设置),它工作得非常好 每天晚上,服务器使用此类命令行调用的声明服务从cron中执行以下操作: php/var/www/MyPrestashopSite/bin/console-mymodule:updateupdateproducts——无调试 对于我创建的许多其他服务,我使用它可以完美地工作,但是对于这一个,我使用Prestashop中的“新”库存管理,当我使用\StockAvailabl

我在Prestashop 1.7.6中创建了一个模块,通过两种方式更新产品库存:

  • 在后台(模块的设置),它工作得非常好

  • 每天晚上,服务器使用此类命令行调用的声明服务从cron中执行以下操作:

    php/var/www/MyPrestashopSite/bin/console-mymodule:updateupdateproducts——无调试

对于我创建的许多其他服务,我使用它可以完美地工作,但是对于这一个,我使用Prestashop中的“新”库存管理,当我使用\StockAvailable方法时,它总是调用上下文并触发StockManagementRepository第130行的错误:确定活动语言需要上下文雇员实例。 此错误阻止我的模块在上下文之外更新产品库存

在我的代码中,我尝试使用以下方法,以尽可能干净的方式获取和修改库存:

\StockAvailable::getQuantityAvailableByProduct(...)
\StockAvailable::setQuantity(...)
\StockAvailable::updateQuantity(...)
注意,我强制$shopId为1,以尽可能避免获取上下文

您知道如何在Prestashop中从cron(脱离上下文,没有员工连接)以干净的方式更新库存(不仅仅是修改库存、产品属性和产品表),而不调用Prestashop Web服务吗

多谢各位