|
Just in case... here is a copy from agcc Actor and gen2 Actor log for agc_expose_id = 191084. It seems that agccActor sends query slightly earlier than gen2 gets the status, given that both have the same clock:
/software/mhs/logs/agcc/stdio-2023-04-30T05\:27\:55.log
2023-04-29 19:34:24.417Z cmds 20 CommandLink.py:121 > 2 6 i text="read magFit = [-2.227, 27.66]"
2023-04-29 19:34:24.417Z cmds 20 CommandLink.py:121 > 2 6 i text="found cameras: [0, 1, 2, 3, 4, 5]"
2023-04-29 19:34:24.417Z cmds 20 CommandLink.py:121 > 2 6 i text="Number of AG cameras = 6"
2023-04-29 19:34:24.418Z cmds 20 CommandLink.py:121 > 2 6 i text="[1] MicroLine ML4720 SN=ML0424912 status=READY temp= 3.6"
2023-04-29 19:34:24.418Z cmds 20 CommandLink.py:121 > 2 6 i text="[2] MicroLine ML4720 SN=ML0374912 status=READY temp= 3.2"
2023-04-29 19:34:24.419Z cmds 20 CommandLink.py:121 > 2 6 i text="[3] MicroLine ML4720 SN=ML0384912 status=READY temp= 3.4"
2023-04-29 19:34:24.420Z cmds 20 CommandLink.py:121 > 2 6 i text="[4] MicroLine ML4720 SN=ML0394912 status=READY temp= 1.8"
2023-04-29 19:34:24.420Z cmds 20 CommandLink.py:121 > 2 6 i text="[5] MicroLine ML4720 SN=ML0404912 status=READY temp= 1.5"
2023-04-29 19:34:24.421Z cmds 20 CommandLink.py:121 > 2 6 i text="[6] MicroLine ML4720 SN=ML0414912 status=READY temp= 3.7"
2023-04-29 19:34:24.421Z cmds 20 CommandLink.py:121 > 2 6 i text="Receive expose command"
2023-04-29 19:34:24.431Z opdb 20 opdb.py:440 fetching sql: COPY (select agc_exposure_id from agc_exposure ORDER BY agc_exposure_id DESC LIMIT 1) TO STDOUT WITH (FORMAT csv, HEADER)
2023-04-29 19:34:24.440Z cmds 20 CommandLink.py:121 > 2 6 i text="Getting agc_exposure_id = 191084 from opDB"
2023-04-29 19:34:24.440Z cmds 20 CommandLink.py:121 > 2 6 i text="Recording agc_exposure_id = 191084 to /software/mhs/data/agcc/nframe.txt"
2023-04-29 19:34:24.449Z opdb 20 opdb.py:440 fetching sql: COPY (select pfs_visit_id, altitude, azimuth, insrot, adc_pa, m2_pos3 FROM tel_status ORDER BY pfs_visit_id DESC limit 1) TO STDOUT WITH (FORMAT csv, HEADER)
2023-04-29 19:34:24.461Z opdb 20 opdb.py:440 fetching sql: COPY (select pfs_visit_id, outside_temperature, outside_pressure, outside_humidity FROM env_condition ORDER BY pfs_visit_id DESC limit 1) TO STDOUT WITH (FORMAT csv, HEADER)
2023-04-29 19:34:24.479Z cmds 20 CommandLink.py:121 > 2 6 i agc_exposing=6
2023-04-29 19:34:24.480Z cmds 20 CommandLink.py:121 > 2 6 i agc1_stat=BUSY
2023-04-29 19:34:24.480Z cmds 20 CommandLink.py:121 > 2 6 i agc2_stat=BUSY
2023-04-29 19:34:24.480Z cmds 20 CommandLink.py:121 > 2 6 i agc3_stat=BUSY
2023-04-29 19:34:24.481Z cmds 20 CommandLink.py:121 > 2 6 i agc4_stat=BUSY
2023-04-29 19:34:24.481Z cmds 20 CommandLink.py:121 > 2 6 i agc5_stat=BUSY
2023-04-29 19:34:24.481Z cmds 20 CommandLink.py:121 > 2 6 i agc6_stat=BUSY
2023-04-29 19:34:27.833Z cmds 20 CommandLink.py:121 > 2 6 i text="AGC[3]: Retrieve camera data in 3.35s"
2023-04-29 19:34:27.833Z cmds 20 CommandLink.py:121 > 2 6 i text="AGC[2]: Retrieve camera data in 3.35s"
2023-04-29 19:34:27.834Z cmds 20 CommandLink.py:121 > 2 6 i agc3_stat=READY
2023-04-29 19:34:27.834Z cmds 20 CommandLink.py:121 > 2 6 i text="AGC[6]: Retrieve camera data in 3.35s"
2023-04-29 19:34:27.839Z cmds 20 CommandLink.py:121 > 2 6 i text="AGC[4]: Retrieve camera data in 3.36s"
2023-04-29 19:34:27.840Z cmds 20 CommandLink.py:121 > 2 6 i text="AGC[5]: Retrieve camera data in 3.36s"
2023-04-29 19:34:27.840Z cmds 20 CommandLink.py:121 > 2 6 i agc2_stat=READY
2023-04-29 19:34:27.847Z cmds 20 CommandLink.py:121 > 2 6 i agc6_stat=READY
2023-04-29 19:34:27.852Z cmds 20 CommandLink.py:121 > 2 6 i agc5_stat=READY
2023-04-29 19:34:27.852Z cmds 20 CommandLink.py:121 > 2 6 i agc4_stat=READY
2023-04-29 19:34:27.864Z cmds 20 CommandLink.py:121 > 2 6 i text="AGC[1]: Retrieve camera data in 3.38s"
2023-04-29 19:34:27.864Z cmds 20 CommandLink.py:121 > 2 6 i agc1_stat=READY
2023-04-29 19:34:28.672Z cmds 20 CommandLink.py:121 > 2 6 i text="AGC[3]: find 15 objects"
2023-04-29 19:34:28.672Z cmds 20 CommandLink.py:121 > 2 6 i text="wrote centroids to database"
/software/mhs/logs/actors/gen2/2023-04-30T02\:56\:31.011.log
2023-04-30 05:34:24.396Z cmdr 20 CmdrConnection.py:218 queueing command ag(acquire_field otf visit_id=0 exposure_time=3000)
2023-04-30 05:34:25.904Z cmds 20 Actor.py:525 new cmd: updateTelStatus caller=ag
2023-04-30 05:34:25.930Z cmds 20 CommandLink.py:121 > 2 29069 d text="updating opdb.tel_status with visit=92671, sequence=2"
2023-04-30 05:34:25.946Z cmds 20 CommandLink.py:121 > 2 29069 i inst_ids="NAOJ","Subaru","PFS"
2023-04-30 05:34:25.946Z cmds 20 CommandLink.py:121 > 2 29069 i program="o23016","SPEC_ENG","Observation","\"[S] Tamura, Moritani, Kawanomoto, Yoshida, Le Fur, Lupton\""
2023-04-30 05:34:25.946Z cmds 20 CommandLink.py:121 > 2 29069 i object="ras08-10","08:00:00.001","-09:59:59.970","08:00:00.001","-09:59:59.970"
2023-04-30 05:34:25.946Z cmds 20 CommandLink.py:121 > 2 29069 i pointing="08:00:00.000","-10:00:00.000"
2023-04-30 05:34:25.946Z cmds 20 CommandLink.py:121 > 2 29069 i offsets=0.0000,0.0000
2023-04-30 05:34:25.946Z cmds 20 CommandLink.py:121 > 2 29069 i telDither=0.000,0.000,0.000
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i telGuide=0.000,0.000,0.000
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i coordinate_system_ids="FK5",180.0,2000.0
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i tel_axes=222.6101,50.7956,39.20442772,1.290
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i tel_rot=0.0,40.306659
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i tel_focus="P_OPT2","PRIME",2.9
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i tel_adc="IN",9.28
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i dome_env=27.700,621.000,274.050,0.100
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i outside_env=29.800,621.000,272.750,3.800
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i m2="Opt",-2.810068,-4.367825,4.788862
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i m2rot=1.2000,2.5000,0.0000
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i pfuOffset=-1.600,-2.500,2.900
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i autoguider="OFF"
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i conditions="Fine",9998.000,1.000
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i moon=75.864,45.169,0.717
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i obsMethod="Classical"
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i domeLights=0; topScreenPos=3.00,1.50,unknown
2023-04-30 05:34:25.947Z cmds 20 CommandLink.py:121 > 2 29069 i ringLampsStatus=9998,9998,9998,9998
2023-04-30 05:34:25.948Z cmds 20 CommandLink.py:121 > 2 29069 i ringLampsCmd=0.0,0.0,0.0,0.0
2023-04-30 05:34:25.948Z cmds 20 CommandLink.py:121 > 2 29069 i ringLamps=0.0,0.0,0.0,0.0
2023-04-30 05:34:25.948Z cmds 20 CommandLink.py:121 > 2 29069 i statusUpdate=92671,2,ag
2023-04-30 05:34:25.948Z cmds 20 CommandLink.py:121 > 2 29069 :
2023-04-30 05:34:31.115Z Gen2Cmd 20 Gen2Cmd.py:308 newGuideErrors:
Unknown macro: {'exposureId'}
2023-04-30 05:34:33.349Z cmdr 20 CmdrConnection.py:212 command returned ag 'acquire_field otf visit_id=0 exposure_time=3000'
|
|
This problem is because we get the telescope information from `tel_status` and `env_condition`.
teleInfo = db.bulkSelect('tel_status','select pfs_visit_id, altitude, azimuth, insrot, adc_pa, m2_pos3 FROM tel_status '
f'ORDER BY pfs_visit_id DESC limit 1')
obsCond = db.bulkSelect('env_condition','select pfs_visit_id, outside_temperature, outside_pressure, outside_humidity '
f' FROM env_condition ORDER BY pfs_visit_id DESC limit 1')
As I know we use this actor by sending pfsVisitId=0 for not comsuming pfsVisitID. So, the key is that some actors need to update those information before everything
|