비동기 이메일 또는 SMS 전송 작업을 위해 gearman을 사용하는 PHP에 대한 자세한 설명
이 문서의 예에서는 PHP가 gearman을 사용하여 비동기 이메일 또는 SMS 전송 작업을 수행하는 방법을 설명합니다. 참고하실 수 있도록 자세한 내용은 다음과 같습니다.
1. 준비
1. 업무 처리 중 다운타임을 방지하기 위해 기어맨의 지속 방식을 구성해 주세요.
2. 테스트를 용이하게 하기 위해 gearmanManager를 사용하여 작업자 스크립트를 관리합니다.
관련 학습 권장사항: PHP 프로그래밍 초보부터 능숙까지
2. 테스트 스크립트 작성
sendEmail.php
코드는 다음과 같습니다. sendEmail.php
代码如下:
<?php //注意函数名与文件名相同 function sendEmail($job) { $workId = uniqid(); //workload()获取客户端发送来的序列化数据 $data = json_decode($job->workload(), true); //这里模拟处理过程 //具体的业务,这里应该是请求发送邮件的接口,这里只做演示 sleep(1); echo "workId: {$workId} 发送 {$data['email']} 成功\n"; }
client.php
<?php //创建一个客户端 $client = new GearmanClient(); //添加一个job服务 $client->addServer('127.0.0.1', 4730); $cnt = 5000; $ret = array(); //循环发送5000条邮件 for($i = 0; $i < $cnt; ++$i) { //doBackground异步,返回提交任务的句柄 $ret[$i] = $client->doBackground('sendEmail', json_encode(array( 'email' => "{$i}@qq.com", 'title' => "邮件标题{$i}", 'body' => "我是内容{$i}", ))); }
client.php< /code>코드는 다음과 같습니다.> vi /data/GearmanManager/etc/GearmanManager.ini
로그인 후 복사3. gearmanManager에서 구성 정보를 수정합니다My gearmanManager가 /data/GearmanManager/[sendEmail]
;指定5个进程
dedicated_count=5
;5个进程都只做sendEmail工作
dedicated_only=1
로그인 후 복사에 설치되어 있습니다. 다음 정보를 추가하면 5개의 프로세스가 시작됩니다. for sendEmail> gearmand -d -q mysql \
--mysql-host=192.168.1.100 \
--mysql-port=3306 \
--mysql-user=gearman \
--mysql-password=123456 \
--mysql-db=gearman \
--mysql-table=gearman_queue &
로그인 후 복사 4. gearman을 시작합니다> cd /data/GearmanManager
> ./bin/pecl_manager.php -c /data/GearmanManager/etc/GearmanManager.ini -vvv
로그인 후 복사5. gearmanManager를 시작합니다> /data/php56/bin/php /data/client.php
로그인 후 복사
6. Ctrl+C를 실행하면 client.php를 실행합니다. pecl_manager.php에서 , 작업자가 강제로 닫힙니다. Client.php는 여전히 정상적으로 요청을 보낼 수 있지만 데이터는 mysql에 저장됩니다.
작업자를 다시 시작하면 기어맨이 처리되지 않은 작업을 다시 로드하여 처리합니다. 
My mysql은 호스트 머신에 설치되어 있고 gearman은 가상 머신에 설치되어 있습니다. 친구가 gearman이 mysql에 연결할 수 없다는 것을 알게 되면 일시적으로 win10 방화벽을 끄고 win10의 ping 에코를 활성화할 수 있습니다.
위 내용은 비동기 이메일 또는 SMS 전송 작업을 위해 gearman을 사용하는 PHP에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP에서 데이터베이스 작업은 매우 쉽습니다. 이번 장에서는 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 이해하겠습니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP에 로그인하는 것은 매우 쉬운 작업입니다. 한 가지 기능만 사용하면 됩니다. cronjob과 같은 백그라운드 프로세스에 대해 오류, 예외, 사용자 활동, 사용자가 취한 조치를 기록할 수 있습니다. CakePHP에 데이터를 기록하는 것은 쉽습니다. log() 함수는 다음과 같습니다.

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는
