...
|
...
|
@@ -16,7 +16,7 @@ include_once __DIR__."/../vendor/autoload.php"; |
|
|
function start(){
|
|
|
|
|
|
// 删除停止运行的值
|
|
|
redis()->delete(RUNNING_REDIS_KEY);
|
|
|
redis()->delete(SYNC_RUNNING_REDIS_KEY);
|
|
|
|
|
|
/** 创建一个表 **/
|
|
|
$table = new Swoole\Table(128);// 128 行
|
...
|
...
|
@@ -40,7 +40,7 @@ function start(){ |
|
|
// 每2秒执行一次
|
|
|
\Swoole\Timer::tick(2000,function () use (&$table,&$pool){
|
|
|
// 是否停止脚本
|
|
|
$table->set('stop',['val'=> redis()->get(RUNNING_REDIS_KEY) === 'stop' ? 1 : 0]);
|
|
|
$table->set('stop',['val'=> redis()->get(SYNC_RUNNING_REDIS_KEY) === 'stop' ? 1 : 0]);
|
|
|
// _echo('定时器');
|
|
|
// 检查是否结束了所有的协程同步代码
|
|
|
if ($table->get('stop','val')) {
|
...
|
...
|
@@ -295,7 +295,7 @@ switch ($argv[1]){ |
|
|
case 'stop':{
|
|
|
\Co\run(function (){
|
|
|
echo "正在退出程序...\n非必要请不要强制kill掉进程\n";
|
|
|
redis()->set(RUNNING_REDIS_KEY,'stop');
|
|
|
redis()->set(SYNC_RUNNING_REDIS_KEY,'stop');
|
|
|
while (true){
|
|
|
$num = exec("ps -ef | grep \"sync_email.php start\" | grep -v grep | wc -l");
|
|
|
if(!$num){
|
...
|
...
|
|