Blog

Magento cron Job ή custom scprit

How-to-setup-a-Cron-Job-in-cPanel-for-Magento-1024x332
Blog / Magento

Magento cron Job ή custom scprit

Πόσο χρήσιμο είναι το Cron Job στο Magento.

Η επιλογή ανάπτυξης ενός ηλεκτρονικού καταστήματος είναι μια συνεχής πρόκληση. Ο ανταγωνισμός, ολοένα και αυξάνεται και η επιτυχία από την αποτυχία, μπορεί να κριθεί από μια απειροελάχιστη λεπτομέρεια. Όσο ο ανθρώπινος παράγοντας παρεμβάλλεται σε ένα τομέα, ειδικά με τέτοια ευαισθησία, θα υπάρχουν λάθη. Ωστόσο τα λάθη, όταν έχουν να κάνουν με το εμπόριο, μπορεί να είναι και καθοριστικά για μια επιχείρηση, όσο μικρή και αν είναι. Σε αυτό το σημείο, επειδή πρέπει να διαχειριστούν πολλά ταυτόχρονα από μια eCommerce επιχείρηση, πρέπει να δημιουργηθούν αυτοματισμοί, για πράγματα που έχουν μια περιοδική χρήση. Εκεί έρχεται το Cron Job, ένα εργαλείο, που αν χρησιμοποιηθεί σωστά, μπορεί να προσφέρει αρκετά.

Τι είναι το Cron Job.

Το Cron Job είναι ένα εργαλείο που μπορούν να χρησιμοποιήσουν οι διαχειριστές ενός ηλεκτρονικού καταστήματος ή οι προγραμματιστές. Στην ουσία μπορεί να δημιουργηθεί με τις κατάλληλες πάντα εντολές, μια ρουτίνα σε εργασίες που πραγματοποιούνται συχνά. Έτσι, με το αυτοποιημένο αυτό σύστημα, πέραν ότι απλοποιούνται κάποιες εργασίες, δεν παρεμβάλλεται ανθρώπινος παράγοντας για χειροκίνητη καταχώρηση. Με το τρόπο αυτό, μειώνονται πιθανές αστοχίες ή παραλείψεις και αυξάνονται οι χρόνοι απόκρισης ορισμένων εργασιών.

Που μπορεί να χρησιμοποιηθεί το Cron Job.

Στην πραγματικότητα, μπορεί να ενεργοποιηθεί οποιαδήποτε διαδικασία με το cron. Αλλά εάν χρησιμοποιηθεί το out of box magento, υπάρχουν μερικές εργασίες cron που μπορούν εκτελεστούν στον πίνακα διαχείρισης Cron Job στο Magento

  • Καθαρισμός συστήματος από προσωρινά απόβλητα. 
  • Αποστολή ενημερωτικών δελτίων. 
  • Ενημέρωση χάρτη τοποθεσίας. 
  • Ειδοποίηση πελατών για νέα στοιχεία. 
  • Ενημέρωση ρυθμίσεων νομίσματος. 
  • Επανυπολογισμός τιμών.

Εν ολίγοις, το Cron είναι ένα “χρονόμετρο” που χρησιμοποιείται στο Magento. Επιτρέπει να προγραμματιστούν και να εκτελεστούν (περιοδικές) εργασίες Magento αυτόματα. Συγκεκριμένα για εργασίες όπως: 

  • αποστολή email συναλλαγών 
  • ενημέρωση των συναλλαγματικών ισοτιμιών 
  • εκκαθάριση αρχείων καταγραφής κ.λπ. 

Στο Magento, μια τέτοια επέκταση ονομάζεται Mage_Cron και είναι διαθέσιμη εάν έχει εγκατασταθεί το Magento eCommerce στον κεντρικό υπολογιστή.

Προγραμματισμός Cron Job.

Υπάρχουν τρεις κύριοι τρόποι για να ενεργοποιηθεί η εργασία cron: 

  • Επέκταση εργασίας Cron 
  • cPanel 
  • Αρχεία cron.sh ή cron.php. Έχουν επιλεγεί αυτές οι τρεις παραλλαγές ως οι πιο απλές και μπορούν να ξεκινήσουν ακόμη και χωρίς συγκεκριμένες δεξιότητες κωδικοποίησης.

Προγραμματισμός Cron στο Magento.

Όπως μπορεί να παρατηρήσει κανείς, κάθε εργασία μετριέται σε λεπτά.

1) Εκτέλεση Cron Job στο Magento με το Cron Job Extension.

Μπορεί να γίνει λήψη μιας επέκτασης όπως το Cron Job Runner. Αυτή η επέκταση ή οποιαδήποτε παρόμοια επιτρέπει να ενεργοποιηθεί όποια εργασία cron απευθείας από τον πίνακα διαχείρισης. 

2) Εκκίνηση του από το cPannel. 

Με σύνδεση στο cPannel, μπορεί επίσης να ξεκινήσει μια εργασία cron. Στο cPannel θα πρέπει να βρεθεί η ρύθμιση Advanced. Υπάρχει ένα κουμπί ρύθμισης. Στο πεδίο Cron job, πρέπει να τοποθετηθεί ένα email. Θα λαμβάνονται μηνύματα ηλεκτρονικού ταχυδρομείου κάθε φορά που εκτελείται η εργασία cron. Σε αυτά τα μηνύματα ηλεκτρονικού ταχυδρομείου, θα αναγράφεται πώς εκτελείται η εργασία cron στο κατάστημά Magento.

3) Cron Job στο Magento χρησιμοποιώντας το αρχείο cron.sh ή cron.php.

Προτού δημιουργηθεί η προσαρμοσμένη εργασία cron, πρέπει να ανοιχτεί το crontab από τον κάτοχο του συστήματος αρχείων Magento. 

Εκτέλεση της εντολής:

crontab -l

Στη συνέχεια θα ληφθεί η παρακάτω ένδειξη:

#~ MAGENTO START c5f9e5ed71cceaabc4d4fd9b3e827a2b
* * * * * /usr/bin/php /var/www/html/magento2/bin/magento cron:run 2>&1 | grep -v “Ran jobs by schedule” >> /var/www/html/magento2/var/log/magento.cron.log
#~ MAGENTO END c5f9e5ed71cceaabc4d4fd9b3e827a2b

Για τη δημιουργία cron job απαιτούνται 2 πράγματα:

  • Δημιουργία ενός βασικού Module.
  • Τοποθέτηση του Cron/SomeCronModel.php σε αυτό.

<?php

namespace VendorName\ModuleName\Cron;

class SomeCronModel
{
    public function execute()
    {
        //your cron job code
    }
}

Τοποθέτηση του etc/crontab.xml φακέλου εκεί:

<?xml version=”1.0″?>
<config xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=”urn:magento:module:Magento_Cron:etc/crontab.xsd”>
    <group id=”default“>
        <job name=”vendorname_modulename_cron_somecronmodel” instance=”VendorName\ModuleName\Cron\SomeCronModel” method=”execute“>
            <schedule>* * * * *</schedule>
        </job>
    </group>
</config>

  • Default – το αναγνωριστικό της ομάδας στην οποία θα συμπεριληφθεί η εργασία cron. 
  • vendorname_modulename_cron_somecronmodel – το όνομα της εργασίας cron. Πρέπει να είναι μοναδικό, γι’ αυτό συνιστάται να δημιουργηθεί από το όνομα του μοντέλου εργασίας cron. 
  • VendorName\ModuleName\Cron\SomeCronModel – το όνομα του μοντέλου εργασίας cron. 
  • Execute – το όνομα της μεθόδου που εκτελέστηκε στο μοντέλο εργασίας cron.
  • * * * * * – η συχνότητα της εργασίας cron.

Η χρήση του Cron Job εξασφαλίζει ακρίβεια στις ενέργειές του καταστήματος.

Επίλογος.

Γίνεται αρκετά αντιληπτό, πως η ύπαρξη cron job σε ένα κατάστημα Magento, είναι επιβεβλημένη. Ανεξάρτητα του μεγέθους του καταστήματος, έχει πάρα πολλά οφέλη. Η αυτοματοποιημένη περιοδική εργασία, θα χρησιμεύσει στην ελαχιστοποίηση λαθών ή και στο μεγαλύτερο επαγγελματικό προφίλ ενός καταστήματος Magento. Είτε επιλεχθεί ο κάτοχος του καταστήματος να εγκαταστήσει το cron job είτε ο προγραμματιστής είναι μια διαδικασία που θα ενισχύει τη παρουσία του καταστήματος και της αξιοπιστίας του.

 

Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
Click outside to hide the comparison bar
Compare