magento: есть ли способ запустить профиль с помощью cron? - PullRequest
1 голос
/ 01 ноября 2011

У меня есть профиль экспорта в magento 1.6, и я могу запустить его вручную («Запустить профиль во всплывающем окне»), но мне нужно, чтобы он запускался автоматически каждый день. Есть ли способ настроить работу cron, чтобы как-то это сделать?

Ответы [ 3 ]

3 голосов
/ 22 октября 2013

Есть другие вещи, которые нужно учитывать, но вкратце, все, что вам нужно, это

Mage::getModel("dataflow/profile")
    ->load(5) // id of the desired profile
    ->run();
1 голос
/ 01 ноября 2011

Вот скрипт cron из 1.4.xx, который будет запускать профиль. Экспорт профиля сценария

В версии 1.4.xx и более поздних, при наличии надлежащих ресурсов, последняя часть, где она открывает таблицу dataflow_batch_export и усекает ее, может быть закомментирована, если ваша система правильно очищаетсодержимое по завершении экспорта.В течение некоторого времени у нас были проблемы с ростом таблиц dataflow_batch_import и dataflow_batch_export из-за невозможности очистки после какой-либо операции, поскольку утечка памяти прервала их правильные операции.

0 голосов
/ 02 ноября 2011

Я использовал следующее взято из (примечание: неработающая ссылка, код скопирован ниже):

http://www.premasolutions.com/content/magento-dataflow-exportimport-form-command-line

<?php
//THIS SCRIPT JUST INITIALS THE PROFILE TO BE RUN VIA MAGENTO ADMIN "RUN PROFILE IN POPUP". Its the same thing as click just via this file that you can run via cron
$profileId = 8; // SYSTEM - IMPORT/EXPORT - ADVANCED PROFILES <-- you need to go into your magento admin and grab the exact profile ID
   
require_once 'app/Mage.php';
umask(0);
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
  
$profile = Mage::getModel('dataflow/profile');
$userModel = Mage::getModel('admin/user');
$userModel->setUserId(0);
Mage::getSingleton('admin/session')->setUser($userModel);
$profile->load($profileId);
if (!$profile->getId()) {
    Mage::getSingleton('adminhtml/session')->addError('ERROR: Incorrect profile id');
}
  
Mage::register('current_convert_profile', $profile);
$profile->run();
$recordCount = 0;
$batchModel = Mage::getSingleton('dataflow/batch');
echo "EXPORT COMPLETE. BATCHID: " . $batchModel->getId();

На 1.5.x он работал правильно (еще не протестирован на 1.6.x, извините).

Если это работает, нужно только запланировать задачу cron для автоматического вызова сценария.

С уважением, Алессандро

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...