현재 위치: > 최신 기사 목록> YII2 CRON 서비스 구성 및 개발 안내서 : 타이밍 작업 관리를 쉽게 구현합니다.

YII2 CRON 서비스 구성 및 개발 안내서 : 타이밍 작업 관리를 쉽게 구현합니다.

gitbox 2025-06-13

Cron 서비스는 무엇입니까?

CRON 서비스는 정기적으로 작업을 수행하기위한 도구입니다. 지정된 기간에 따라 프로그램이 특정 작업을 자동으로 실행할 수 있습니다. YII2에서는 YII2Tech/Cron Extension 패키지를 설치하여 CRON 서비스의 기능을 구현할 수 있습니다. 이 확장 패키지를 사용하면 YII2의 콘솔 응용 프로그램을 통해 예정된 CRON 작업을 실행할 수 있으며 실행 정보를 실시간으로 출력 할 수 있으므로 개발자가 작업 상태를보다 쉽게 ​​모니터링 할 수 있습니다.

yii2tech/cron 확장 패키지를 설치하는 방법

먼저 작곡가를 사용하여 YII2Tech/CRON Extension 패키지를 설치해야합니다.

 composer require yii2tech/cron

설치가 완료되면 확장 패키지를 활성화하려면 콘솔 응용 프로그램을 구성해야합니다. 구성 단계는 다음과 같습니다.

1 단계 : YII2 콘솔 응용 프로그램을 만듭니다

프로젝트 루트 디렉토리로 이동하여 다음 명령을 사용하여 콘솔 애플리케이션을 만듭니다.

 php yii2-app console

이는 Console이라는 프로젝트에서 CRON 작업을 수행하기 위해 콘솔 응용 프로그램을 생성합니다.

2 단계 : YII2Tech/CRON 확장 패키지 구성

콘솔 애플리케이션의 구성 파일에서`console/config/main.php` 파일에 다음을 추가합니다.

 return [
    //...
    'controllerMap' => [
        //...
        'cron' => \yii2tech\crontab\CronController::class,
    ],
    'components' => [
        'crontab' => [
            'class' => \yii2tech\crontab\CronTab::class,
            'crontabFile' => '@app/config/crontab',
        ],
    ],
];

이 코드에서는 'ControllerMap'에서`cron '요소를 구성하여 Yii2Tech/Cron 확장 패키지가 제공하는 CronController를 활성화합니다. 동시에 CRON 작업 스케줄링 파일의 위치를 ​​지정하는`crontab '이라는 구성 요소를 구성했습니다.

Cron 서비스 작성 방법

확장 패키지의 설치 및 구성을 완료 한 후 CRON 작업 작성을 시작할 수 있습니다. 특정 단계는 다음과 같습니다.

1 단계 : CRON 작업을 정의합니다

YII2에서 Cron 작업을 정의하는 것은 간단합니다.`yii2tech \ crontab \ cronjob` 클래스에서 상속 된 작업 클래스 만 작성하십시오. 예를 들어:

 class ClearLogs extends yii2tech\crontab\CronJob
{
    public function getSchedule()
    {
        return '0 * * * *';  // 시간별0분 실행
    }

    public function run()
    {
        Yii::info('Cron작업이 실행 중입니다');
        $logPath = 'logs/*.log';
        array_map('unlink', glob($logPath));  // 모든 것을 삭제하십시오.log문서
    }
}

위의 코드는`Clearlogs '라는 CRON 작업을 정의하며, 이는 시간 중 0 분에 실행되며 로그 폴더 아래의 모든`.log'파일을 삭제하여 디스크 공간을 확보하는 데 도움이됩니다.

2 단계 : CRON 서비스에 CRON 작업을 추가하십시오

작업이 작성된 후에는 CRON 서비스에 대한 작업을 구성해야합니다. 단계는 다음과 같습니다.

Substep 1 : CRON 구성 파일을 작성하십시오

`Console/Config '디렉토리에서`crontab'라는 파일을 만들고 Cron 작업 및 예약 정보를 추가하십시오. 아래 그림과 같이 :

 # crontab 체재:
# * * * * * 주문하다
# 사용 방법:
# {schedule} {command}
# 매 시간마다 깨끗합니다
0 * * * * php {yii} clear-logs
# 매일3:00클리어 캐시
0 3 * * * php {yii} cache/flush-all

이 파일에서는 'Clearlogs'작업의 일정 시간과 다른 작업 (예 : 캐시 지우기)을 구성합니다.

Substep 2 : Cron 서비스를 실행하십시오

구성을 완료 한 후 CRON 서비스를 시작하고 타이밍 작업을 실행할 수 있습니다. 명령 줄에서 프로젝트 루트 디렉토리로 이동하여 다음 명령을 실행하십시오.

 php yii cron

이 시점에서 CRON 작업은 백그라운드에서 예정된대로 실행되며 콘솔에서 실행 로그를 볼 수 있습니다.

요약

CRON 서비스는 개발자가 작업을 자동화하고 시간과 노력을 절약 할 수 있도록 매우 실용적인 도구입니다. YII2 프레임 워크에서는`yii2tech/cron` 확장 패키지를 통해 CRON 서비스를 쉽게 구현하고 간단한 구성으로 다양한 작업을 정기적으로 수행 할 수 있습니다. 이 접근법은 개발 효율성을 향상시키고 반복적 인 운영을 줄이는 데 도움이 될 수 있습니다. 이 기사가 도움이되기를 바랍니다!