湘潭响应式网站建设 速来磐石网络,重庆网站搜索引擎seo,自己做淘客网站成本大吗,网页设计图片怎么换需求是这样#xff1a;
14:00的时候#xff0c;需要给1000个门店执行发券操作#xff0c;有的门店需要发3个场景#xff0c;开放平台的接口有请求频次限制#xff0c;他是按照门店的场景发券需要间隔10秒。比如说#xff0c;AB两个门店同时发a券#xff0c;但不能 A门店…需求是这样
14:00的时候需要给1000个门店执行发券操作有的门店需要发3个场景开放平台的接口有请求频次限制他是按照门店的场景发券需要间隔10秒。比如说AB两个门店同时发a券但不能 A门店同时发a、b券。
$delay 10; // 设置固定的间隔时间为10秒$previousExecutionTimes []; // 用于记录每个s_id的上一个任务执行时间foreach ($data as $v) {$jobData [s_id $v[s_id],labelId $v[labelId]];$s_id $v[s_id];// 检查之前是否有相同s_id的任务如果有就取其上一个执行时间否则默认为当前时间$previousExecutionTime isset($previousExecutionTimes[$s_id]) ? $previousExecutionTimes[$s_id] : time();$currentExecutionTime time();$currentDelay max($delay, $previousExecutionTime $delay - $currentExecutionTime); // 计算当前任务的延迟时间保证相同s_id的任务间隔为10秒$previousExecutionTimes[$s_id] $currentExecutionTime $currentDelay; // 更新当前s_id的上一个任务执行时间dump(time:{$currentDelay},s_id:{$s_id});Queue::later($currentDelay, QueryValueaddedtaskSubmit, $jobData, test);}