作者 邓超

1

@@ -12,7 +12,7 @@ include_once __DIR__."/../vendor/autoload.php"; @@ -12,7 +12,7 @@ include_once __DIR__."/../vendor/autoload.php";
12 function start(){ 12 function start(){
13 13
14 // 删除停止运行的值 14 // 删除停止运行的值
15 - redis()->delete(RUNNING_REDIS_KEY); 15 + redis()->delete(SYNC_RUNNING_REDIS_KEY);
16 16
17 // 进程管理器 17 // 进程管理器
18 $pm = new Process\Manager(); 18 $pm = new Process\Manager();
@@ -284,7 +284,7 @@ switch ($argv[1]){ @@ -284,7 +284,7 @@ switch ($argv[1]){
284 case 'stop':{ 284 case 'stop':{
285 \Co\run(function (){ 285 \Co\run(function (){
286 echo "正在退出程序...\n非必要请不要强制kill掉进程\n"; 286 echo "正在退出程序...\n非必要请不要强制kill掉进程\n";
287 - redis()->set(RUNNING_REDIS_KEY,'stop'); 287 + redis()->set(SYNC_RUNNING_REDIS_KEY,'stop');
288 while (true){ 288 while (true){
289 $num = exec("ps -ef | grep \"sync.php start\" | grep -v grep | wc -l"); 289 $num = exec("ps -ef | grep \"sync.php start\" | grep -v grep | wc -l");
290 if(!$num){ 290 if(!$num){
@@ -16,7 +16,7 @@ include_once __DIR__."/../vendor/autoload.php"; @@ -16,7 +16,7 @@ include_once __DIR__."/../vendor/autoload.php";
16 function start(){ 16 function start(){
17 17
18 // 删除停止运行的值 18 // 删除停止运行的值
19 - redis()->delete(RUNNING_REDIS_KEY); 19 + redis()->delete(SYNC_RUNNING_REDIS_KEY);
20 20
21 /** 创建一个表 **/ 21 /** 创建一个表 **/
22 $table = new Swoole\Table(128);// 128 行 22 $table = new Swoole\Table(128);// 128 行
@@ -40,7 +40,7 @@ function start(){ @@ -40,7 +40,7 @@ function start(){
40 // 每2秒执行一次 40 // 每2秒执行一次
41 \Swoole\Timer::tick(2000,function () use (&$table,&$pool){ 41 \Swoole\Timer::tick(2000,function () use (&$table,&$pool){
42 // 是否停止脚本 42 // 是否停止脚本
43 - $table->set('stop',['val'=> redis()->get(RUNNING_REDIS_KEY) === 'stop' ? 1 : 0]); 43 + $table->set('stop',['val'=> redis()->get(SYNC_RUNNING_REDIS_KEY) === 'stop' ? 1 : 0]);
44 // _echo('定时器'); 44 // _echo('定时器');
45 // 检查是否结束了所有的协程同步代码 45 // 检查是否结束了所有的协程同步代码
46 if ($table->get('stop','val')) { 46 if ($table->get('stop','val')) {
@@ -295,7 +295,7 @@ switch ($argv[1]){ @@ -295,7 +295,7 @@ switch ($argv[1]){
295 case 'stop':{ 295 case 'stop':{
296 \Co\run(function (){ 296 \Co\run(function (){
297 echo "正在退出程序...\n非必要请不要强制kill掉进程\n"; 297 echo "正在退出程序...\n非必要请不要强制kill掉进程\n";
298 - redis()->set(RUNNING_REDIS_KEY,'stop'); 298 + redis()->set(SYNC_RUNNING_REDIS_KEY,'stop');
299 while (true){ 299 while (true){
300 $num = exec("ps -ef | grep \"sync_email.php start\" | grep -v grep | wc -l"); 300 $num = exec("ps -ef | grep \"sync_email.php start\" | grep -v grep | wc -l");
301 if(!$num){ 301 if(!$num){
@@ -9,7 +9,7 @@ define('WORKER_NUM',1); @@ -9,7 +9,7 @@ define('WORKER_NUM',1);
9 // 开启最大1000个协程 9 // 开启最大1000个协程
10 define('COROUTINE_MAX_NUM',5000); 10 define('COROUTINE_MAX_NUM',5000);
11 // 是否继续运行 11 // 是否继续运行
12 -define('RUNNING_REDIS_KEY','worker_is_running'); 12 +define('SYNC_RUNNING_REDIS_KEY','worker_is_running');
13 // 记录日志的目录 13 // 记录日志的目录
14 define('LOG_PATH',__DIR__.'/log'); 14 define('LOG_PATH',__DIR__.'/log');
15 15
@@ -15,7 +15,7 @@ class sendJobStatusSql { @@ -15,7 +15,7 @@ class sendJobStatusSql {
15 * 表 15 * 表
16 * @var string 16 * @var string
17 */ 17 */
18 - public static $table = 'lists'; 18 + public static $table = 'send_job_status';
19 19
20 20
21 21
@@ -18,6 +18,16 @@ class sendJobsSql { @@ -18,6 +18,16 @@ class sendJobsSql {
18 public static $table = 'send_jobs'; 18 public static $table = 'send_jobs';
19 19
20 20
  21 + /**
  22 + * 获取需要发送的邮件
  23 + * @author:dc
  24 + * @time 2023/4/11 14:56
  25 + * @return string
  26 + */
  27 + public static function sendList():string {
  28 + // 控制在500数量,协程数量就控制
  29 + return "select * from `".self::$table."` where `status` = 0 and `send_time` <= ".time()." limit 500";
  30 + }
21 31
22 32
23 33