【问题标题】:Making this into a cron job?把它变成一个 cron 工作?
【发布时间】:2015-06-01 17:53:43
【问题描述】:

找到了这段可爱的 sql 查询代码,用于排除 magento 上的多个图像。

UPDATE catalog_product_entity_media_gallery_value SET disabled = 0; 
UPDATE catalog_product_entity_media_gallery_value AS mgv,
(SELECT entity_id, COUNT(*) as image_count, MAX(value_id) AS value_id
FROM catalog_product_entity_media_gallery AS mg
GROUP BY entity_id
HAVING image_count = 2) AS mg
SET mgv.disabled = 1
WHERE mgv.value_id = mg.value_id 

我希望将此作为一项 cron 作业运行,而不是直接使用数据库,但不知道如何将其编写为一个作业。

这可以做成一个cron作业吗?

请指出正确的方向。

【问题讨论】:

  • 可能的答案太多,或者对于这种格式来说,好的答案太长了。请添加详细信息以缩小答案范围或隔离可以在几段中回答的问题。
  • “如果可以,有人可以帮我做吗?” 不,SO 不是免费的编码服务,请聘请免费的职业者。
  • 他们希望我直截了当,我真正想要的是一个是的,它可以写在一个 cron 作业中,这是一个编写访问数据库的 cron 作业的教程。或者看看这个并解释编写 cron 作业。
  • " 我真正想要的是一个是的,它可以写在一个 cron 作业中,这里是一个编写访问数据库的 cron 作业的教程。或者看看这个并解释编写 cron 作业" 现在还不行,给how-to-askon-topic 读一读

标签: php magento cron


【解决方案1】:

使用大多数数据库附带的命令行工具,您可以将这些语句包装在脚本中,就像这样,使用 mysql

/path/to/mysql --whateverparametersyouneed yourdb << HERE
  UPDATE catalog_product_entity_media_gallery_value SET disabled = 0; 
   UPDATE catalog_product_entity_media_gallery_value AS mgv,
  (SELECT entity_id, COUNT(*) as image_count, MAX(value_id) AS value_id
  FROM catalog_product_entity_media_gallery AS mg
  GROUP BY entity_id
  HAVING image_count = 2) AS mg
  SET mgv.disabled = 1
  WHERE mgv.value_id = mg.value_id; 
HERE

这称为此处文档,请参阅How can I write a here doc to a file in Bash script? 了解更多信息。

然后,只需从 cron 调用该脚本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-04
    • 1970-01-01
    • 2018-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多