Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/04/2012, 04:00
chascos69
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 0
Magento Manual: Como funciona Cron con Magento?

Hola
Estoy intentando configurar el Cron del Magento para que me ejecute una acción cada 1 minuto
He leído mil ejemplos y tutoriales y en ningún lugar queda claro... es increible

Esto es algunos ejemplos de las webs que indican como:
http://www.magentocommerce.com/wiki/...tup_a_cron_job
http://inchoo.net/ecommerce/magento/...pt-in-magento/
http://www.damianculotta.com.ar/2010...ob-en-magento/

Tb la gente q redacta estos manuales da por supuesto demasiadas cosas... los manuales para q sean efectivos han de ser detallados pq. por un mínimo detalle no te puede funcionar.... así q a ver! vamos a redactar los pasos COMO DIOS MANDA de una vez

Primero lo q queda claro:
- En app\code\local\Dc\Modulo\Model\Config\Cron\ agregar un fichero php (por ejemplo p1.php) q contenga el código q queremos ejecutar:
class Dc_Modulo_Model_Cron
{
public function runMyCronJob()
{
//this collection get all users which have birthday on today
$customer = Mage::getModel("customer/customer")->getCollection();
$customer->addFieldToFilter('dob', array('like' => '%'.date("m").'-'.date("d").' 00:00:00'));
$customer->addNameToSelect();
$items = $customer->getItems();

foreach($items as $item)
{
// send email or do something
}
return $this;
}
}

- En app/code/core/Mage/CatalogRule/etc/config.xml justo después de crontab (sino existre es un elemento de nodo <config>, crearlo) insertar:
<crontab>
<jobs>
<mi_modulo_mi_cron_job>
<schedule><cron_expr>0 1 * * *</cron_expr></schedule>
<run><model>moduloejemplo/observer::runMyCronJob</model></run>
</mi_modulo_mi_cron_job>
</jobs>
</crontab>
</config>

Bueno ahora las dudas:
- En '<model>birthday/observer::sendBirthayEmail</model>': 'moduloejemplo/observer' puede ser el nombre q me de la gana?
- En el manual oficial dice q en cron.php (raiz magento) he de agregar una línea tb tipo así: */5 * * * * /bin/sh /absolute/path/to/magento/cron.sh. Mi pregunta es... paque? Para ponerle el tiempo en el q se ejecuta? Pero eso no se lo estoy diciendo ya en <cron_expr>? Sino se lo pones no funciona o que?

Algo mas? Pq. por ahí hay alguien que dice. "Ojo q tpco funciona sino agregas en el config esto:"
config>
<!-- ... --->
<global>
<models>
<birthday>
<class>Dc_Modulo_Model_Cron</class>
</birthday>
</models>
</global>
<!-- ... -->
</config>

He puesto todo esto y a mi no me lanza nada... Q por cierto.. .se lanza cada vez q se entra en la web hecha con MAgento? O tb se lanza cuando estás en el panel de admin?

A ver si alguien lo aclara
Gracias