在Magento中設定計畫任務

2021-10-07 10:49:31 字數 1940 閱讀 8060

cron是乙個重要的實用程式,可讓您以一定的定期間隔執行指令碼。 對於基於web的應用程式,它也已成為重要的方面。 cron對**有用的方法有很多,從傳送常規的新聞郵件到與第三方系統同步資料庫。 您還可以使用cron清理後端儲存,以提高應用程式的整體效能。

magento像其他幾個實用程式一樣,在核心本身中支援cron! 它允許您在模組中設定計畫任務,以便它們可以定期執行。 magento使用位於站點根目錄中的「 cron.sh」和「 cron.php」檔案執行所有cron任務。 因此,您需要確保已設定系統級cron以定期執行「 cron.sh」檔案,這最終會觸發magento cron系統。 最後,magento收集位於模組中的所有cron作業,並在特定的cron執行中根據需要執行它們。

儘管magento已經在核心模組本身中提供了很多cron作業,但是您也可以在模組中建立自定義cron任務。 建立自定義模組正是我們在接下來的部分中要討論的。

我們將建立乙個名為「 customcron」的簡單定製模組。 以下是所需設定所需的檔案列表:

<?xml version="1.0"?>

true

local

<?xml version="1.0"?>

1.0

5,10,15,20,25,30,35,40,45,50,55 * * * *

customcron/customcron::customcrontask

envato_customcron_model

「 config.xml」檔案看起來非常簡單-根據magento約定宣告版本號和模型類。 但是,對我們來說重要的標記是,用於宣告所有作業。 它是magento用來收集模組中所有cron作業的「事件觀察器」之一。

此外,在標記下,我們已使用標記宣告了自定義crontab作業。 這是cron作業的唯一識別符號。 儘管在上面的檔案中,我們僅建立了乙個任務,但是您可以在標籤下設定多個cron作業。 接下來,在下,我們定義了標記。

標記定義標記內的cron間隔,作業將在該間隔定期執行。 在我們的情況下,自定義cron任務將每五分鐘執行一次。 但是,等等,每五分鐘會做什麼? 這正是標記所代表的! 它宣告了「模型方法」,將在自定義cron作業執行期間由magento呼叫。

<?php

class envato_customcron_model_customcron

}

因此,正如我們之前所宣告的,我們定義了「 customcrontask」模型方法。 在這種方法中,我們只是使用magento電子郵件類實用程式傳送電子郵件。 但更重要的是,這種方法將在每次cron作業執行時(當然每五分鐘一次)定期呼叫。

最後,您應該確保已在系統中建立了cronjob條目。 對於linux,您只需要將以下行新增到crontab檔案中。

5,10,15,20,25,30,35,40,45,50,55 * * * * /bin/sh /path/to/magento/site/cron.sh
您只需要用magento安裝的實際路徑替換「 / path / to / magento / site」。 對於windows,您可以使用計畫的任務執行相同的操作。 但是,在windows中,您需要使用「 /path/to/magento/site/cron.php」檔案,因為不支援「 cron.sh」。

因此,將您的自定義cron作業插入magento cron系統真的很簡單! 今天就是這樣,我希望您已經學到了magento的有用知識。 使用下面的提要分享您的想法!

翻譯自:

在centos上設定計畫任務

之前專案在windows 2003伺服器上設定定時任務,每天執行。現在把專案移植到linux系統。也要在linux系統上設定計畫任務。但是之前我從來沒有做過。所以多得不得了到處找資料。和請教。後來終於找到方法。就是使用cron cron是乙個linux下的定時執行工具,可以在無需人工干預的情況下執行...

在WINDOWS中設定計畫任務執行PHP檔案

1 寫乙個php程式,命名為test.php,內容如下所示 fp fopen test.txt a fwrite fp,date y m d h i s 成功成功了!n fclose fp 2 新建bat檔案,命名為test.bat,內容如下所示 d phpphp.exe q d websitete...

在WINDOWS中設定計畫任務執行PHP檔案

全文 在網上找了些windows執行php的計畫任務的方法,有乙個寫得很全,可惜在我這竟然沒通過。最後不得不綜合各門派的方法,才能在我這執行成功。1 寫乙個php程式,命名為test.php,內容如下所示 fp fopen test.txt a fwrite fp,date y m d h i s ...