나는 비슷한 질문을 한 것 같지만 아무도 나에게 대답하지 못했습니다. 나는 전에 CRON에 대해 들어 본 적이 없었으며 나는 Laravel을 처음 접했습니다. 내가 필요한 것은 일주일에 한 번 Task를 실행하여 데이터베이스 (MySql)에서 일부 작업을 수행하고 매주 일요일 오전 12시에 말합니다. 어떻게하면이 목표를 달성 할 수 있을까요? 당신이 크론를 사용할 수있는 경우 루트로 실행해야하는 경우특정 시간에 Laravel 작업 실행
답변
, 당신은 단지,
crontab -e
을 실행해야 또는 : 당신이 수정할 수 있도록
sudo crontab -e
이 텍스트 편집기를 열 것이다 crontab을 실행하면 각 예약 된 명령에 대해 다음과 같이 한 줄씩 표시됩니다.
1 0 * * * php /var/www/myBlog/artisan task:run
위와 같은 명령은 다음과 같습니다. 매일 1 분 (0h01 또는 12h01am)에 실행됩니다.
* * * * * <command to execute>
┬ ┬ ┬ ┬ ┬
│ │ │ │ │
│ │ │ │ │
│ │ │ │ └───── day of week (0 - 6) (0 to 6 are Sunday to Saturday, or use names)
│ │ │ └────────── month (1 - 12)
│ │ └─────────────── day of month (1 - 31)
│ └──────────────────── hour (0 - 23)
└───────────────────────── min (0 - 59)
따라서, 귀하의 경우,이 같은 라인을 만들 수 있습니다 :
0 12 * * 0 <command to execute>
을하지만 어떻게 당신이 작업을 위해 그렇게 할 여기
그것의 설명이 전부입니다 Laravel에? 여러 가지 방법이 있습니다. 그 중 하나가 내 첫 번째 예입니다. 숙련 된 명령 (작업 : 실행)을 만든 다음 장인을 실행하거나, 적중 될 때마다 작업을 호출하는 앱 경로를 만들 수 있습니다 :Route::get('/task/run',array('uses'=>'[email protected]'));
그리고 당신은 그냥이 그것을 당신의 crontab을 추가 할 수 있습니다,하지만 당신은 wget이나 컬 같은 URL을 칠 뭔가가 필요합니다
0 12 * * 0 curl http://mysite.com/run/task
예, 위키 피 디아에서 보았습니다. 그렇지만 여전히 내 응용 프로그램에 해당 명령을 실행하는 방법을 알지 못합니다. Windows에서 작업하기 때문에'sudo '를 사용할 수 없습니다.내 앱이 개발 중이고, 프로덕션으로 넘어갈 때도 여전히 작동합니까? – ecampver
cron은 기본적으로 작업 스케줄러이며, Windows 용 (http://puu.sh/3gDDl.png)도 있습니다. 또는 Windows 용 cron을 설치할 수도 있습니다. 그리고 내가 말했듯이 웹 사이트를 구축하고 있습니다. 내부적으로 작업을 실행하는 url을 만들 수 있습니다 : TaskController == 컨트롤러 lass, run = your method, 메서드가 실행되자 마자 원하는대로 수행 할 수 있습니다. , 당신은 그 URL을 치기 위해 뭔가가 필요하고 이것은 당신의 Task Scheduler입니다. –
좋아, 지금은 테스트 할 수 없지만 당신을 믿을 것입니다. 감사 ;) – ecampver
당신이 작성하고 laravel 작업을 실행할 수 있습니다 다른 장인 명령처럼 명령 줄에서. 그래서 당신이 창문에 있다면 당신은 명령이 작동하는지 아닌지 수동으로 명령을 실행할 수 있습니다.
그런 다음 프로덕션 서버를 사용하고 있다면 (더 좋은 것은 유닉스 기반 인 경우), Antonio의 지시에 따라 cron 작업을 생성하고 cron 탭에 추가 할 수 있습니다. PHP 실행을위한 전체 경로를 알아야합니다.
내 튜토리얼은 모든 자세하게 설명 :
http://maxoffsky.com/code-blog/practical-laravel-using-cron-jobs-in-laravel/ 당신이 찾고있는 해답을 찾아 낸다.
는 Laravel 5 있기 때문에, 당신은 crontab -e
을 실행 한 후 crontab을 투입 할 필요가있는 유일한 항목은
* * * * * php /path/to/artisan schedule:run >> /dev/null 2>&1
프로젝트 특정 경로에 /path/to/artisan
부분을 변경하는 것을 잊지 마십시오입니다.
그리고 Laravel의 App\Console\Kernel
클래스에서 예약 된 작업과 실행 빈도를 정의 할 수 있습니다. 자세한 내용은 Laravel 문서를 참조하십시오. Task Schedule
- 1. CRON : 특정 시간에 작업 실행
- 2. postDelayed를 사용하여 특정 시간에 작업 실행
- 3. 특정 시간에 forloop를 실행
- 4. 특정 시간에 대기중인 작업
- 5. 특정 시간에 코드 실행
- 6. 특정 시간에 쿼리 실행
- 7. 특정 시간에 html 실행
- 8. 프로그램이 특정 시간에 실행
- 9. 특정 시간에 코드 실행
- 10. android에서 특정 시간에 작업 호출
- 11. 웹 서버에서 특정 시간에 특정 작업 수행
- 12. 특정 시간에 SQL 쿼리 실행
- 13. 장고의 특정 시간에 알림 실행
- 14. 특정 시간에 perl 스크립트를 실행
- 15. Android : 특정 시간에 Notification.Builder 실행
- 16. 특정 시간에 메소드 실행 예약.
- 17. 매일 특정 시간에 코드 실행
- 18. Heroku : 특정 시간에 기능 실행
- 19. 특정 시간에 Python 실행 프로그램
- 20. 특정 시간에 자바 스레드 실행
- 21. iPhone cron (지정된 시간에 작업 실행)
- 22. 정확한 시간에 레일스 작업 실행 (초당 정확한)
- 23. 몇 시간에 한 번씩 작업 실행
- 24. 특정 시간에 SMS 보내기 (작업 생성)
- 25. 구문 분석을 사용하여 특정 시간에 작업 수행
- 26. 일정 레일 특정 시간에 실행할 작업
- 27. 특정 시간에 타이머가있는 자바 스케줄링 작업
- 28. AlarmClock은 한 번만, 특정 시간에 특정 시간에 특정 시간에
- 29. 매일 특정 시간에 일부 코드 실행
- 30. ASP.NET 사이트 - 특정 시간에 일부 코드 실행
죄송합니다, 아직 anwser를 편집 중입니다. –