Job 1788386112923

Command: python -c "from pathlib import Path;s=Path(r'C:\Users\ash\PhoneBridgeCode.gs').read_text(encoding='utf-8');a=s.index('function poll_');b=s.index('function heartbeat_',a);print(s[a:b])"
Directory: projects
Status: SUCCESS
Exit code: 0

Cancel Job Rerun Command Refresh

function poll_() {
  const q=queue_();
  for (let i=0;i<q.length;i++) {
    if (q[i].status==='pending' && (!q[i].target || q[i].target===TARGET)) {
      q[i].status='running'; q[i].attempts=(q[i].attempts||0)+1; q[i].claimed_at=new Date().toISOString();
      saveQueue_(q);
      return out_({ok:true,command:{row:i+1,id:q[i].id,action:q[i].action,payload_json:q[i].payload_json,attempts:q[i].attempts,target:q[i].target}});
    }
  }
  return out_({ok:true,command:null});
}
function result_(b) {
  const id=String(b.command_id||''); if(!id) return out_({ok:false,error:'command_id_required'});
  const data={command_id:id,status:String(b.status||'done'),http_status:b.http_status===undefined?'':String(b.http_status),
    result_text:String(b.result_text||''),error:String(b.error||''),duration_ms:b.duration_ms===undefined?'':String(b.duration_ms),
    result_sha256:String(b.result_sha256||''),truncated:!!b.truncated,phone_received_at_ms:b.phone_received_at_ms,
    phone_processed_at_ms:b.phone_processed_at_ms,phone_result_written_at_ms:b.phone_result_written_at_ms,
    transport:String(b.transport||'APPS_SCRIPT_PROPERTIES'),notes:String(b.notes||''),completed_at:new Date().toISOString()};
  storeResult_(id,JSON.stringify(data));
  const q=queue_(); for(let i=0;i<q.length;i++) if(q[i].id===id) {q[i].status=data.status;q[i].completed_at=data.completed_at;}
  saveQueue_(q);
  return out_({ok:true,result_id:id});
}
function storeResult_(id,s) {
  const sp=PropertiesService.getScriptProperties(); const base='R_'+id+'_';
  const old=Number(sp.getProperty(base+'N')||0); for(let i=0;i<old;i++) sp.deleteProperty(base+i);
  const n=Math.ceil(s.length/CHUNK)||1; sp.setProperty(base+'N',String(n));
  for(let i=0;i<n;i++) sp.setProperty(base+i,s.slice(i*CHUNK,(i+1)*CHUNK));
}
function getResult_(id) {
  if(!id) return out_({ok:false,error:'command_id_required'});
  const sp=PropertiesService.getScriptProperties(),base='R_'+id+'_',n=Number(sp.getProperty(base+'N')||0);
  if(!n) return out_({ok:true,result:null});
  let s=''; for(let i=0;i<n;i++) s+=sp.getProperty(base+i)||'';
  try { return out_({ok:true,result:JSON.parse(s)}); } catch(e) { return out_({ok:false,error:'result_corrupt'}); }
}