>  기사  >  PHP 프레임워크  >  Laravel에서 Overlapping() 없이 설정된 일부 작업이 실행되지 않는 문제 해결

Laravel에서 Overlapping() 없이 설정된 일부 작업이 실행되지 않는 문제 해결

藏色散人
藏色散人앞으로
2021-05-14 15:00:482892검색

다음 튜토리얼 칼럼인 laravel에서는 Laravel에서 Overlapping() 없이 설정한 일부 작업이 실행되지 않는 문제에 대한 해결 방법을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

Laravel에서 Overlapping() 없이 설정된 일부 작업이 실행되지 않는 문제 해결

rm -rf Storage/framework/cache/*rm -rf storage/framework/cache/*

本质是因为意外情况导致上一个正在执行中的任务没有正常结束,更它的mutex标记文件却还在,使得Laravel框架的php artisan schedule:run命令任务该任务还在执行中,所以为了withoutOverlapping,就跳过执行了,在这种情况下,手动将mutex标记删掉就能恢复正常。

mutex标记是受Laravel框架的vendor/laravel/framework/src/Illuminate/Console/Scheduling/CacheMutex.php文件控制的,用的是.env中指定的CACHE_DRIVER(对应到config/cache.php中指定的配置),一般默认是file类型,对应到storage/framework/cache

기본적으로 다음으로 인해 발생합니다. 예상치 못한 상황 실행 중인 작업이 정상적으로 종료되지 않지만 해당 뮤텍스 태그 파일이 여전히 남아 있으므로 Laravel 프레임워크의 php artisan Schedule:run 명령 작업이 계속 실행 중이므로 Overlapping 없이 실행만 건너뛰는 경우에는 뮤텍스 표시를 수동으로 삭제하면 정상으로 돌아갈 수 있습니다.
🎜mutex 태그는 .env에 지정된 CACHE_DRIVER를 사용하여 Laravel 프레임워크의 vendor/laravel/framework/src/Illuminate/Console/Scheduling/CacheMutex.php 파일로 제어됩니다(config/cache.php에 지정된 구성), 일반적으로 기본값은 storage/framework/cache 디렉터리에 해당하는 파일 형식이므로 이 디렉터리에서 캐시를 지우면 됩니다. 🎜🎜

위 내용은 Laravel에서 Overlapping() 없이 설정된 일부 작업이 실행되지 않는 문제 해결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제