> PHP 프레임워크 > ThinkPHP > thinkphp5.1이 예약된 작업을 구현하는 방법에 대한 자세한 설명

thinkphp5.1이 예약된 작업을 구현하는 방법에 대한 자세한 설명

藏色散人
풀어 주다: 2021-06-11 09:01:42
앞으로
5248명이 탐색했습니다.

다음 튜토리얼 칼럼인 thinkphp Framework에서는 thinkphp5.1이 예약된 작업을 어떻게 구현하는지 자세히 설명합니다. 필요한 친구들에게 도움이 되길 바랍니다!

머리말

저와 친구들은 thinkphp5.1을 사용하여 작은 소규모 교실 시스템을 작성했습니다. 이제 일일 수업 알림 및 데이터 초기화 기능을 구현하려고 합니다. 그런데 실행할 때마다 관리자 인터페이스를 수동으로 클릭해야 하는데, 매일 예정된 시간에 자동으로 실행되도록 하려면 어떻게 해야 할까요?
thinkphp5.1이 예약된 작업을 구현하는 방법에 대한 자세한 설명

이전 방법

예정된 작업이나 계획된 작업에 대해 Google에서 tp5.1을 검색하면 많은 블로그가 있을 것이지만 대부분은 Linux 시스템을 설치한 지 얼마 되지 않아 Linux에 익숙하지 않습니다. . 먼저 Windows 시스템을 사용하여 구현했습니다.

Idea

Windows 환경과 Linux 환경에서의 구현 아이디어는 동일합니다.
1. 이제 구현 방법을 트리거에 작성하고 클릭하여 구현할 수 있습니다.
2. 웹페이지를 자동으로 여는 스크립트를 작성하세요.
3. Windows와 함께 제공되는 예약 작업을 사용하여 정기적으로 이 스크립트를 자동으로 실행하세요.

구현

1. 이제 로그인 컨트롤러 아래에 테스트 트리거를 작성합니다

public function test() // 自动执行测试
{
    echo "这是一个定时任务的测试";
}
로그인 후 복사

트리거 효과는 다음과 같습니다
thinkphp5.1이 예약된 작업을 구현하는 방법에 대한 자세한 설명

2. 이 웹 페이지를 자동으로 열려면 .bat 형식으로 스크립트를 작성하세요.

다른 .txt 파일을 생성하고 실행 성공 정보를 작성하세요.
thinkphp5.1이 예약된 작업을 구현하는 방법에 대한 자세한 설명

코드는 다음과 같습니다.

@echo off

start iexplore.exe http://127.0.0.1/index/login/test    

Ping -n 5 127.1>nul    

Taskkill /f /im iexplore.exe

echo success >> test.txt
로그인 후 복사

start iexplore.exe http://127.0.0.1/index/login/test 表示打开浏览器的网址具体网址写在最后,Ping -n 5 127.1>nul 表示等待5秒,Taskkill /f /im iexplore.exe表示关闭浏览器,echo success >> test.txt는 성공이 메모장에 반환된다는 의미입니다. 댓글을 작성하면 코드에 오류가 발생하므로 여기에 코드 댓글을 작성하겠습니다.
테스트 .bat 파일을 클릭하세요
thinkphp5.1이 예약된 작업을 구현하는 방법에 대한 자세한 설명

메모장 효과는 아래와 같습니다
thinkphp5.1이 예약된 작업을 구현하는 방법에 대한 자세한 설명

메모장에 적힌 코드를 딩톡 알림으로 변경할 수도 있습니다
코드는 다음과 같습니다

curl -X POST -H "Content-type: application/json" ^
--data  "{\"text\": {\"content\": \"每日初始完成\"}, \"msgtype\": \"text\"}" ^
https://oapi.dingtalk.com/robot/send?access_token=23dc64f0dee37b5ee3b1ac472b2c84d837afa15b2a884b87b32f898998408a36
로그인 후 복사

딩톡 로봇부터 기능은 이제 일시적으로 폐쇄되었습니다. 이 기능은 더 이상 시연되지 않습니다.

3. Windows에 내장된 예약 작업을 사용하여 예약된 자체 시작 스크립트 구현

제어판을 클릭하고 관리 도구->작업 스케줄러->기본 작업 만들기를 클릭하세요
thinkphp5.1이 예약된 작업을 구현하는 방법에 대한 자세한 설명

이름: 일일 이니셜
트리거: 매일
시작: //원하는 시간 선택
작업: 프로그램 시작->이 스크립트 선택
완료
thinkphp5.1이 예약된 작업을 구현하는 방법에 대한 자세한 설명

설정된 시간에 자동으로 시작됩니다.

결론

리눅스 시스템의 구체적인 동작 방식은 다르지만, 아이디어는 동일합니다. 아래에서 본 블로그 링크를 제공하겠습니다. 리눅스 시스템을 이해한 후 이를 구현해 보겠습니다. .

관련 추천: 최신 10개 thinkphp 비디오 튜토리얼

위 내용은 thinkphp5.1이 예약된 작업을 구현하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿