Update Docker configuration, enhance error handling, and improve logging

- Added health check to the camera management API service in docker-compose.yml for better container reliability.
- Updated installation scripts in Dockerfile to check for existing dependencies before installation, improving efficiency.
- Enhanced error handling in the USDAVisionSystem class to allow partial operation if some components fail to start, preventing immediate shutdown.
- Improved logging throughout the application, including more detailed error messages and critical error handling in the main loop.
- Refactored WebSocketManager and CameraMonitor classes to use debug logging for connection events, reducing log noise.
This commit is contained in:
salirezav
2025-12-03 17:23:31 -05:00
parent 2bce817b4e
commit 933d4417a5
30 changed files with 4314 additions and 220 deletions

View File

@@ -1,61 +1,61 @@
phase_name,machine_type,run_id,experiment_number,soaking_duration_hr,air_drying_duration_min,plate_contact_frequency_hz,throughput_rate_pecans_sec,crush_amount_in,entry_exit_height_diff_in,reps,rep
"Phase 2 of JC Experiments","JC Cracker",1,0,34,19,53,28,0.05,-0.09,3,1
"Phase 2 of JC Experiments","JC Cracker",2,1,24,27,34,29,0.03,0.01,3,3
"Phase 2 of JC Experiments","JC Cracker",3,12,28,59,37,23,0.06,-0.08,3,1
"Phase 2 of JC Experiments","JC Cracker",4,15,16,60,30,24,0.07,0.02,3,1
"Phase 2 of JC Experiments","JC Cracker",5,4,13,41,41,38,0.05,0.03,3,2
"Phase 2 of JC Experiments","JC Cracker",6,18,18,49,38,35,0.07,-0.08,3,1
"Phase 2 of JC Experiments","JC Cracker",7,11,24,59,42,25,0.07,-0.05,3,1
"Phase 2 of JC Experiments","JC Cracker",8,16,20,59,41,14,0.07,0.04,3,1
"Phase 2 of JC Experiments","JC Cracker",9,4,13,41,41,38,0.05,0.03,3,1
"Phase 2 of JC Experiments","JC Cracker",10,19,11,25,56,34,0.06,-0.09,3,1
"Phase 2 of JC Experiments","JC Cracker",11,15,16,60,30,24,0.07,0.02,3,2
"Phase 2 of JC Experiments","JC Cracker",12,16,20,59,41,14,0.07,0.04,3,3
"Phase 2 of JC Experiments","JC Cracker",13,10,26,60,44,12,0.08,-0.1,3,2
"Phase 2 of JC Experiments","JC Cracker",14,1,24,27,34,29,0.03,0.01,3,1
"Phase 2 of JC Experiments","JC Cracker",15,17,34,60,34,29,0.07,-0.09,3,2
"Phase 2 of JC Experiments","JC Cracker",16,5,30,33,30,36,0.05,-0.04,3,3
"Phase 2 of JC Experiments","JC Cracker",17,2,38,10,60,28,0.06,-0.1,3,3
"Phase 2 of JC Experiments","JC Cracker",18,2,38,10,60,28,0.06,-0.1,3,1
"Phase 2 of JC Experiments","JC Cracker",19,13,21,59,41,21,0.06,-0.09,3,2
"Phase 2 of JC Experiments","JC Cracker",20,1,24,27,34,29,0.03,0.01,3,2
"Phase 2 of JC Experiments","JC Cracker",21,14,22,59,45,17,0.07,-0.08,3,2
"Phase 2 of JC Experiments","JC Cracker",22,6,10,22,37,30,0.06,0.02,3,2
"Phase 2 of JC Experiments","JC Cracker",23,11,24,59,42,25,0.07,-0.05,3,2
"Phase 2 of JC Experiments","JC Cracker",24,19,11,25,56,34,0.06,-0.09,3,2
"Phase 2 of JC Experiments","JC Cracker",25,8,27,12,55,24,0.04,0.04,3,2
"Phase 2 of JC Experiments","JC Cracker",26,18,18,49,38,35,0.07,-0.08,3,3
"Phase 2 of JC Experiments","JC Cracker",27,5,30,33,30,36,0.05,-0.04,3,1
"Phase 2 of JC Experiments","JC Cracker",28,9,32,26,47,26,0.07,0.03,3,1
"Phase 2 of JC Experiments","JC Cracker",29,3,11,36,42,13,0.07,-0.07,3,1
"Phase 2 of JC Experiments","JC Cracker",30,10,26,60,44,12,0.08,-0.1,3,1
"Phase 2 of JC Experiments","JC Cracker",31,8,27,12,55,24,0.04,0.04,3,3
"Phase 2 of JC Experiments","JC Cracker",32,5,30,33,30,36,0.05,-0.04,3,2
"Phase 2 of JC Experiments","JC Cracker",33,8,27,12,55,24,0.04,0.04,3,1
"Phase 2 of JC Experiments","JC Cracker",34,18,18,49,38,35,0.07,-0.08,3,2
"Phase 2 of JC Experiments","JC Cracker",35,3,11,36,42,13,0.07,-0.07,3,3
"Phase 2 of JC Experiments","JC Cracker",36,10,26,60,44,12,0.08,-0.1,3,3
"Phase 2 of JC Experiments","JC Cracker",37,17,34,60,34,29,0.07,-0.09,3,3
"Phase 2 of JC Experiments","JC Cracker",38,13,21,59,41,21,0.06,-0.09,3,3
"Phase 2 of JC Experiments","JC Cracker",39,12,28,59,37,23,0.06,-0.08,3,2
"Phase 2 of JC Experiments","JC Cracker",40,9,32,26,47,26,0.07,0.03,3,3
"Phase 2 of JC Experiments","JC Cracker",41,14,22,59,45,17,0.07,-0.08,3,3
"Phase 2 of JC Experiments","JC Cracker",42,0,34,19,53,28,0.05,-0.09,3,2
"Phase 2 of JC Experiments","JC Cracker",43,7,15,30,35,32,0.05,-0.07,3,1
"Phase 2 of JC Experiments","JC Cracker",44,0,34,19,53,28,0.05,-0.09,3,3
"Phase 2 of JC Experiments","JC Cracker",45,15,16,60,30,24,0.07,0.02,3,3
"Phase 2 of JC Experiments","JC Cracker",46,13,21,59,41,21,0.06,-0.09,3,1
"Phase 2 of JC Experiments","JC Cracker",47,11,24,59,42,25,0.07,-0.05,3,3
"Phase 2 of JC Experiments","JC Cracker",48,7,15,30,35,32,0.05,-0.07,3,3
"Phase 2 of JC Experiments","JC Cracker",49,16,20,59,41,14,0.07,0.04,3,2
"Phase 2 of JC Experiments","JC Cracker",50,3,11,36,42,13,0.07,-0.07,3,2
"Phase 2 of JC Experiments","JC Cracker",51,7,15,30,35,32,0.05,-0.07,3,2
"Phase 2 of JC Experiments","JC Cracker",52,6,10,22,37,30,0.06,0.02,3,1
"Phase 2 of JC Experiments","JC Cracker",53,19,11,25,56,34,0.06,-0.09,3,3
"Phase 2 of JC Experiments","JC Cracker",54,6,10,22,37,30,0.06,0.02,3,3
"Phase 2 of JC Experiments","JC Cracker",55,2,38,10,60,28,0.06,-0.1,3,2
"Phase 2 of JC Experiments","JC Cracker",56,14,22,59,45,17,0.07,-0.08,3,1
"Phase 2 of JC Experiments","JC Cracker",57,4,13,41,41,38,0.05,0.03,3,3
"Phase 2 of JC Experiments","JC Cracker",58,9,32,26,47,26,0.07,0.03,3,2
"Phase 2 of JC Experiments","JC Cracker",59,17,34,60,34,29,0.07,-0.09,3,1
"Phase 2 of JC Experiments","JC Cracker",60,12,28,59,37,23,0.06,-0.08,3,3
experiment_number,soaking_duration_hr,air_drying_duration_min,plate_contact_frequency_hz,throughput_rate_pecans_sec,crush_amount_in,entry_exit_height_diff_in
0,34,19,53,28,0.05,-0.09
1,24,27,34,29,0.03,0.01
12,28,59,37,23,0.06,-0.08
15,16,60,30,24,0.07,0.02
4,13,41,41,38,0.05,0.03
18,18,49,38,35,0.07,-0.08
11,24,59,42,25,0.07,-0.05
16,20,59,41,14,0.07,0.04
4,13,41,41,38,0.05,0.03
19,11,25,56,34,0.06,-0.09
15,16,60,30,24,0.07,0.02
16,20,59,41,14,0.07,0.04
10,26,60,44,12,0.08,-0.1
1,24,27,34,29,0.03,0.01
17,34,60,34,29,0.07,-0.09
5,30,33,30,36,0.05,-0.04
2,38,10,60,28,0.06,-0.1
2,38,10,60,28,0.06,-0.1
13,21,59,41,21,0.06,-0.09
1,24,27,34,29,0.03,0.01
14,22,59,45,17,0.07,-0.08
6,10,22,37,30,0.06,0.02
11,24,59,42,25,0.07,-0.05
19,11,25,56,34,0.06,-0.09
8,27,12,55,24,0.04,0.04
18,18,49,38,35,0.07,-0.08
5,30,33,30,36,0.05,-0.04
9,32,26,47,26,0.07,0.03
3,11,36,42,13,0.07,-0.07
10,26,60,44,12,0.08,-0.1
8,27,12,55,24,0.04,0.04
5,30,33,30,36,0.05,-0.04
8,27,12,55,24,0.04,0.04
18,18,49,38,35,0.07,-0.08
3,11,36,42,13,0.07,-0.07
10,26,60,44,12,0.08,-0.1
17,34,60,34,29,0.07,-0.09
13,21,59,41,21,0.06,-0.09
12,28,59,37,23,0.06,-0.08
9,32,26,47,26,0.07,0.03
14,22,59,45,17,0.07,-0.08
0,34,19,53,28,0.05,-0.09
7,15,30,35,32,0.05,-0.07
0,34,19,53,28,0.05,-0.09
15,16,60,30,24,0.07,0.02
13,21,59,41,21,0.06,-0.09
11,24,59,42,25,0.07,-0.05
7,15,30,35,32,0.05,-0.07
16,20,59,41,14,0.07,0.04
3,11,36,42,13,0.07,-0.07
7,15,30,35,32,0.05,-0.07
6,10,22,37,30,0.06,0.02
19,11,25,56,34,0.06,-0.09
6,10,22,37,30,0.06,0.02
2,38,10,60,28,0.06,-0.1
14,22,59,45,17,0.07,-0.08
4,13,41,41,38,0.05,0.03
9,32,26,47,26,0.07,0.03
17,34,60,34,29,0.07,-0.09
12,28,59,37,23,0.06,-0.08
1 phase_name experiment_number machine_type soaking_duration_hr run_id air_drying_duration_min plate_contact_frequency_hz throughput_rate_pecans_sec crush_amount_in entry_exit_height_diff_in reps rep
2 Phase 2 of JC Experiments 0 JC Cracker 34 1 19 53 28 0.05 -0.09 3 1
3 Phase 2 of JC Experiments 1 JC Cracker 24 2 27 34 29 0.03 0.01 3 3
4 Phase 2 of JC Experiments 12 JC Cracker 28 3 59 37 23 0.06 -0.08 3 1
5 Phase 2 of JC Experiments 15 JC Cracker 16 4 60 30 24 0.07 0.02 3 1
6 Phase 2 of JC Experiments 4 JC Cracker 13 5 41 41 38 0.05 0.03 3 2
7 Phase 2 of JC Experiments 18 JC Cracker 18 6 49 38 35 0.07 -0.08 3 1
8 Phase 2 of JC Experiments 11 JC Cracker 24 7 59 42 25 0.07 -0.05 3 1
9 Phase 2 of JC Experiments 16 JC Cracker 20 8 59 41 14 0.07 0.04 3 1
10 Phase 2 of JC Experiments 4 JC Cracker 13 9 41 41 38 0.05 0.03 3 1
11 Phase 2 of JC Experiments 19 JC Cracker 11 10 25 56 34 0.06 -0.09 3 1
12 Phase 2 of JC Experiments 15 JC Cracker 16 11 60 30 24 0.07 0.02 3 2
13 Phase 2 of JC Experiments 16 JC Cracker 20 12 59 41 14 0.07 0.04 3 3
14 Phase 2 of JC Experiments 10 JC Cracker 26 13 60 44 12 0.08 -0.1 3 2
15 Phase 2 of JC Experiments 1 JC Cracker 24 14 27 34 29 0.03 0.01 3 1
16 Phase 2 of JC Experiments 17 JC Cracker 34 15 60 34 29 0.07 -0.09 3 2
17 Phase 2 of JC Experiments 5 JC Cracker 30 16 33 30 36 0.05 -0.04 3 3
18 Phase 2 of JC Experiments 2 JC Cracker 38 17 10 60 28 0.06 -0.1 3 3
19 Phase 2 of JC Experiments 2 JC Cracker 38 18 10 60 28 0.06 -0.1 3 1
20 Phase 2 of JC Experiments 13 JC Cracker 21 19 59 41 21 0.06 -0.09 3 2
21 Phase 2 of JC Experiments 1 JC Cracker 24 20 27 34 29 0.03 0.01 3 2
22 Phase 2 of JC Experiments 14 JC Cracker 22 21 59 45 17 0.07 -0.08 3 2
23 Phase 2 of JC Experiments 6 JC Cracker 10 22 22 37 30 0.06 0.02 3 2
24 Phase 2 of JC Experiments 11 JC Cracker 24 23 59 42 25 0.07 -0.05 3 2
25 Phase 2 of JC Experiments 19 JC Cracker 11 24 25 56 34 0.06 -0.09 3 2
26 Phase 2 of JC Experiments 8 JC Cracker 27 25 12 55 24 0.04 0.04 3 2
27 Phase 2 of JC Experiments 18 JC Cracker 18 26 49 38 35 0.07 -0.08 3 3
28 Phase 2 of JC Experiments 5 JC Cracker 30 27 33 30 36 0.05 -0.04 3 1
29 Phase 2 of JC Experiments 9 JC Cracker 32 28 26 47 26 0.07 0.03 3 1
30 Phase 2 of JC Experiments 3 JC Cracker 11 29 36 42 13 0.07 -0.07 3 1
31 Phase 2 of JC Experiments 10 JC Cracker 26 30 60 44 12 0.08 -0.1 3 1
32 Phase 2 of JC Experiments 8 JC Cracker 27 31 12 55 24 0.04 0.04 3 3
33 Phase 2 of JC Experiments 5 JC Cracker 30 32 33 30 36 0.05 -0.04 3 2
34 Phase 2 of JC Experiments 8 JC Cracker 27 33 12 55 24 0.04 0.04 3 1
35 Phase 2 of JC Experiments 18 JC Cracker 18 34 49 38 35 0.07 -0.08 3 2
36 Phase 2 of JC Experiments 3 JC Cracker 11 35 36 42 13 0.07 -0.07 3 3
37 Phase 2 of JC Experiments 10 JC Cracker 26 36 60 44 12 0.08 -0.1 3 3
38 Phase 2 of JC Experiments 17 JC Cracker 34 37 60 34 29 0.07 -0.09 3 3
39 Phase 2 of JC Experiments 13 JC Cracker 21 38 59 41 21 0.06 -0.09 3 3
40 Phase 2 of JC Experiments 12 JC Cracker 28 39 59 37 23 0.06 -0.08 3 2
41 Phase 2 of JC Experiments 9 JC Cracker 32 40 26 47 26 0.07 0.03 3 3
42 Phase 2 of JC Experiments 14 JC Cracker 22 41 59 45 17 0.07 -0.08 3 3
43 Phase 2 of JC Experiments 0 JC Cracker 34 42 19 53 28 0.05 -0.09 3 2
44 Phase 2 of JC Experiments 7 JC Cracker 15 43 30 35 32 0.05 -0.07 3 1
45 Phase 2 of JC Experiments 0 JC Cracker 34 44 19 53 28 0.05 -0.09 3 3
46 Phase 2 of JC Experiments 15 JC Cracker 16 45 60 30 24 0.07 0.02 3 3
47 Phase 2 of JC Experiments 13 JC Cracker 21 46 59 41 21 0.06 -0.09 3 1
48 Phase 2 of JC Experiments 11 JC Cracker 24 47 59 42 25 0.07 -0.05 3 3
49 Phase 2 of JC Experiments 7 JC Cracker 15 48 30 35 32 0.05 -0.07 3 3
50 Phase 2 of JC Experiments 16 JC Cracker 20 49 59 41 14 0.07 0.04 3 2
51 Phase 2 of JC Experiments 3 JC Cracker 11 50 36 42 13 0.07 -0.07 3 2
52 Phase 2 of JC Experiments 7 JC Cracker 15 51 30 35 32 0.05 -0.07 3 2
53 Phase 2 of JC Experiments 6 JC Cracker 10 52 22 37 30 0.06 0.02 3 1
54 Phase 2 of JC Experiments 19 JC Cracker 11 53 25 56 34 0.06 -0.09 3 3
55 Phase 2 of JC Experiments 6 JC Cracker 10 54 22 37 30 0.06 0.02 3 3
56 Phase 2 of JC Experiments 2 JC Cracker 38 55 10 60 28 0.06 -0.1 3 2
57 Phase 2 of JC Experiments 14 JC Cracker 22 56 59 45 17 0.07 -0.08 3 1
58 Phase 2 of JC Experiments 4 JC Cracker 13 57 41 41 38 0.05 0.03 3 3
59 Phase 2 of JC Experiments 9 JC Cracker 32 58 26 47 26 0.07 0.03 3 2
60 Phase 2 of JC Experiments 17 JC Cracker 34 59 60 34 29 0.07 -0.09 3 1
61 Phase 2 of JC Experiments 12 JC Cracker 28 60 59 37 23 0.06 -0.08 3 3