[2026-05-22 00:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 00:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 00:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 00:00:01] [cron_daily_schedule_fcm] Notification Results:
[2026-05-22 00:00:01] [cron_daily_schedule_fcm] -------------------------
[2026-05-22 00:00:01] [cron_daily_schedule_fcm] All schedules reset: sent = 0
[2026-05-22 00:00:01] [cron_daily_schedule_fcm] Active status updated based on leave dates
[2026-05-22 00:00:01] [cron_mark_yesterday_absent] start
[2026-05-22 00:00:01] [cron_mark_yesterday_absent] {"success":true,"date":"2026-05-21","marked_absent":3,"users_absent":[{"user_id":4,"name":"vital"},{"user_id":13,"name":"test"},{"user_id":22,"name":"Mangamma"}]}
[2026-05-22 00:00:01] [cron_mark_yesterday_absent] end
[2026-05-22 00:00:02] [cron_daily_schedule_fcm] User Tamil → Schedule 271 (active=1) sent to 1 device(s)
[2026-05-22 00:00:02] [cron_daily_schedule_fcm] User Naveen → Schedule 272 (active=1) sent to 1 device(s)
[2026-05-22 00:00:02] [cron_daily_schedule_fcm] User Sathish → Schedule 273 (active=1) sent to 1 device(s)
[2026-05-22 00:00:02] [cron_daily_schedule_fcm] User Madesh → Schedule 274 (active=1) sent to 1 device(s)
[2026-05-22 00:00:02] [cron_daily_schedule_fcm] User Tamil → Schedule 276 (active=1) sent to 1 device(s)
[2026-05-22 00:00:03] [cron_daily_schedule_fcm] User Naveen → Schedule 277 (active=1) sent to 1 device(s)
[2026-05-22 00:00:03] [cron_daily_schedule_fcm] User Sathish → Schedule 278 (active=1) sent to 1 device(s)
[2026-05-22 00:00:03] [cron_daily_schedule_fcm] User Madesh → Schedule 279 (active=1) sent to 1 device(s)
[2026-05-22 00:00:03] [cron_daily_schedule_fcm] User pooarasan → Schedule 281 (active=1) sent to 1 device(s)
[2026-05-22 00:00:03] [cron_daily_schedule_fcm] User pooarasan → Schedule 282 (active=1) sent to 1 device(s)
[2026-05-22 00:00:03] [cron_daily_schedule_fcm] User pooarasan → Schedule 283 (active=1) sent to 1 device(s)
[2026-05-22 00:00:03] [cron_daily_schedule_fcm] -------------------------
[2026-05-22 00:00:03] [cron_daily_schedule_fcm] Total Sent: 11
[2026-05-22 00:00:03] [cron_daily_schedule_fcm] Total Skipped: 0
[2026-05-22 00:00:03] [cron_daily_schedule_fcm] Execution Time: 2.25 sec
[2026-05-22 00:00:03] [cron_daily_schedule_fcm] -------------------------
[2026-05-22 00:00:03] [cron_daily_schedule_fcm] Done.
[2026-05-22 00:00:05] [notification_received] Schedule 281 acknowledged by user_id=6 (event=received)
[2026-05-22 00:00:05] [notification_received] Schedule 282 acknowledged by user_id=6 (event=received)
[2026-05-22 00:00:05] [notification_received] Schedule 283 acknowledged by user_id=6 (event=received)
[2026-05-22 01:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 01:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 01:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 02:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 02:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 02:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 03:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 03:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 03:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 03:50:05] [notification_received] Schedule 281 acknowledged by user_id=6 (event=tapped)
[2026-05-22 03:50:05] [fcm_token] FCM token saved/updated: user_id=6 device_type=android
[2026-05-22 03:55:03] [notification_received] Schedule 282 acknowledged by user_id=6 (event=tapped)
[2026-05-22 03:58:02] [fcm_token] FCM token saved/updated: user_id=5 device_type=android
[2026-05-22 03:58:07] [attendance_code_created] date=2026-05-22 type=first_half
[2026-05-22 03:58:32] [attendance_code_created] date=2026-05-22 type=second_half
[2026-05-22 04:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 04:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 04:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 04:00:05] [fcm_token] FCM token saved/updated: user_id=6 device_type=android
[2026-05-22 04:08:28] [notification_received] Schedule 271 acknowledged by user_id=20 (event=received)
[2026-05-22 04:08:28] [notification_received] Schedule 276 acknowledged by user_id=20 (event=received)
[2026-05-22 04:10:51] [notification_received] Schedule 273 acknowledged by user_id=17 (event=received)
[2026-05-22 04:11:25] [notification_received] Schedule 278 acknowledged by user_id=17 (event=received)
[2026-05-22 04:20:58] [notification_received] Schedule 274 acknowledged by user_id=15 (event=received)
[2026-05-22 04:21:00] [notification_received] Schedule 279 acknowledged by user_id=15 (event=received)
[2026-05-22 04:21:03] [fcm_token] FCM token saved/updated: user_id=17 device_type=android
[2026-05-22 04:21:15] [fcm_token] FCM token saved/updated: user_id=15 device_type=android
[2026-05-22 04:21:17] [attendance_login] user_id=15 date=2026-05-22 first_half
[2026-05-22 04:21:50] [fcm_token] FCM token saved/updated: user_id=7 device_type=android
[2026-05-22 04:21:55] [attendance_login] user_id=7 date=2026-05-22 first_half
[2026-05-22 04:22:10] [attendance_login] user_id=17 date=2026-05-22 first_half
[2026-05-22 04:25:41] [notification_received] Schedule 272 acknowledged by user_id=18 (event=received)
[2026-05-22 04:25:43] [notification_received] Schedule 277 acknowledged by user_id=18 (event=received)
[2026-05-22 04:32:41] [fcm_token] FCM token saved/updated: user_id=18 device_type=android
[2026-05-22 04:32:42] [attendance_login] user_id=18 date=2026-05-22 first_half
[2026-05-22 04:33:02] [fcm_token] FCM token saved/updated: user_id=21 device_type=android
[2026-05-22 04:33:05] [attendance_login] user_id=21 date=2026-05-22 first_half
[2026-05-22 04:34:40] [fcm_token] FCM token saved/updated: user_id=20 device_type=android
[2026-05-22 04:34:43] [attendance_login] user_id=20 date=2026-05-22 first_half
[2026-05-22 05:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 05:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 05:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 05:08:14] [update_attendance] Attendance updated: date=2026-05-19 updated=1 user_ids=22
[2026-05-22 05:08:22] [update_attendance] Attendance updated: date=2026-05-20 updated=1 user_ids=22
[2026-05-22 05:08:23] [update_attendance] Attendance updated: date=2026-05-20 updated=1 user_ids=22
[2026-05-22 05:08:35] [update_attendance] Attendance updated: date=2026-05-21 updated=1 user_ids=22
[2026-05-22 05:08:36] [update_attendance] Attendance updated: date=2026-05-21 updated=1 user_ids=22
[2026-05-22 06:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 06:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 06:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 07:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 07:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 07:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 07:20:33] [fcm_token] FCM token saved/updated: user_id=17 device_type=android
[2026-05-22 07:20:55] [fcm_token] FCM token saved/updated: user_id=23 device_type=android
[2026-05-22 07:21:14] [attendance_logout] user_id=17 date=2026-05-22 first_half
[2026-05-22 07:21:29] [fcm_token] FCM token saved/updated: user_id=21 device_type=android
[2026-05-22 07:21:38] [attendance_logout] user_id=21 date=2026-05-22 first_half
[2026-05-22 07:21:49] [fcm_token] FCM token saved/updated: user_id=20 device_type=android
[2026-05-22 07:21:53] [attendance_logout] user_id=20 date=2026-05-22 first_half
[2026-05-22 07:22:02] [attendance_login] user_id=17 date=2026-05-22 second_half
[2026-05-22 07:22:23] [attendance_login] user_id=20 date=2026-05-22 second_half
[2026-05-22 07:22:27] [fcm_token] FCM token saved/updated: user_id=15 device_type=android
[2026-05-22 07:22:29] [attendance_logout] user_id=15 date=2026-05-22 first_half
[2026-05-22 07:22:35] [attendance_login] user_id=15 date=2026-05-22 second_half
[2026-05-22 07:48:58] [attendance_login] user_id=21 date=2026-05-22 second_half
[2026-05-22 07:51:17] [attendance_logout] user_id=18 date=2026-05-22 first_half
[2026-05-22 07:51:22] [attendance_login] user_id=18 date=2026-05-22 second_half
[2026-05-22 07:51:26] [attendance_logout] user_id=18 date=2026-05-22 second_half
[2026-05-22 08:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 08:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 08:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 08:01:14] [attendance_logout] user_id=21 date=2026-05-22 second_half
[2026-05-22 08:43:07] [fcm_token] FCM token saved/updated: user_id=7 device_type=android
[2026-05-22 08:43:17] [verify_attendance_fail] Invalid or expired QR code: user_id=7 today=2026-05-22 shift=second_half code_len=32
[2026-05-22 08:43:31] [attendance_logout] user_id=7 date=2026-05-22 first_half
[2026-05-22 08:43:54] [fcm_token] FCM token saved/updated: user_id=17 device_type=android
[2026-05-22 08:44:06] [verify_attendance_fail] Invalid or expired QR code: user_id=17 today=2026-05-22 shift=second_half code_len=32
[2026-05-22 08:44:15] [fcm_token] FCM token saved/updated: user_id=15 device_type=android
[2026-05-22 08:44:35] [fcm_token] FCM token saved/updated: user_id=20 device_type=android
[2026-05-22 08:44:43] [attendance_login] user_id=7 date=2026-05-22 second_half
[2026-05-22 08:44:44] [attendance_logout] user_id=20 date=2026-05-22 second_half
[2026-05-22 08:44:49] [attendance_logout] user_id=17 date=2026-05-22 second_half
[2026-05-22 08:45:03] [attendance_logout] user_id=7 date=2026-05-22 second_half
[2026-05-22 08:45:26] [attendance_logout] user_id=15 date=2026-05-22 second_half
[2026-05-22 09:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 09:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 09:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 10:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 10:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 10:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 11:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 11:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 11:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 11:17:13] [fcm_token] FCM token saved/updated: user_id=7 device_type=android
[2026-05-22 12:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 12:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 12:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 12:00:01] [cron_daily_schedule_fcm] Notification Results:
[2026-05-22 12:00:01] [cron_daily_schedule_fcm] -------------------------
[2026-05-22 12:00:01] [cron_daily_schedule_fcm] All schedules reset: sent = 0
[2026-05-22 12:00:01] [cron_daily_schedule_fcm] Active status updated based on leave dates
[2026-05-22 12:00:02] [cron_daily_schedule_fcm] User Tamil → Schedule 271 (active=1) sent to 1 device(s)
[2026-05-22 12:00:02] [cron_daily_schedule_fcm] User Naveen → Schedule 272 (active=1) sent to 1 device(s)
[2026-05-22 12:00:02] [cron_daily_schedule_fcm] User Sathish → Schedule 273 (active=1) sent to 1 device(s)
[2026-05-22 12:00:02] [cron_daily_schedule_fcm] User Madesh → Schedule 274 (active=1) sent to 1 device(s)
[2026-05-22 12:00:02] [cron_daily_schedule_fcm] User Tamil → Schedule 276 (active=1) sent to 1 device(s)
[2026-05-22 12:00:03] [notification_received] Schedule 274 acknowledged by user_id=15 (event=received)
[2026-05-22 12:00:03] [cron_daily_schedule_fcm] User Naveen → Schedule 277 (active=1) sent to 1 device(s)
[2026-05-22 12:00:03] [cron_daily_schedule_fcm] User Sathish → Schedule 278 (active=1) sent to 1 device(s)
[2026-05-22 12:00:03] [cron_daily_schedule_fcm] User Madesh → Schedule 279 (active=1) sent to 1 device(s)
[2026-05-22 12:00:03] [cron_daily_schedule_fcm] User pooarasan → Schedule 281 (active=1) sent to 1 device(s)
[2026-05-22 12:00:03] [notification_received] Schedule 279 acknowledged by user_id=15 (event=received)
[2026-05-22 12:00:03] [notification_received] Schedule 277 acknowledged by user_id=18 (event=received)
[2026-05-22 12:00:03] [notification_received] Schedule 272 acknowledged by user_id=18 (event=received)
[2026-05-22 12:00:03] [cron_daily_schedule_fcm] User pooarasan → Schedule 282 (active=1) sent to 1 device(s)
[2026-05-22 12:00:03] [cron_daily_schedule_fcm] User pooarasan → Schedule 283 (active=1) sent to 1 device(s)
[2026-05-22 12:00:03] [cron_daily_schedule_fcm] -------------------------
[2026-05-22 12:00:03] [cron_daily_schedule_fcm] Total Sent: 11
[2026-05-22 12:00:03] [cron_daily_schedule_fcm] Total Skipped: 0
[2026-05-22 12:00:03] [cron_daily_schedule_fcm] Execution Time: 2.39 sec
[2026-05-22 12:00:03] [cron_daily_schedule_fcm] -------------------------
[2026-05-22 12:00:03] [cron_daily_schedule_fcm] Done.
[2026-05-22 12:00:06] [notification_received] Schedule 273 acknowledged by user_id=17 (event=received)
[2026-05-22 12:00:06] [notification_received] Schedule 278 acknowledged by user_id=17 (event=received)
[2026-05-22 12:38:23] [notification_received] Schedule 282 acknowledged by user_id=6 (event=received)
[2026-05-22 12:38:23] [notification_received] Schedule 281 acknowledged by user_id=6 (event=received)
[2026-05-22 12:38:26] [notification_received] Schedule 283 acknowledged by user_id=6 (event=received)
[2026-05-22 13:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 13:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 13:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 14:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 14:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 14:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 15:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 15:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 15:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 16:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 16:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 16:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 17:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 17:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 17:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 17:49:15] [notification_received] Schedule 276 acknowledged by user_id=20 (event=received)
[2026-05-22 17:49:15] [notification_received] Schedule 271 acknowledged by user_id=20 (event=received)
[2026-05-22 18:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 18:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 18:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 19:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 19:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 19:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 20:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 20:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 20:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 21:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 21:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 21:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 22:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 22:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 22:00:01] [cron_deactivate_schedules_for_inactive_users] end
[2026-05-22 23:00:01] [cron_deactivate_schedules_for_inactive_users] start
[2026-05-22 23:00:01] [cron_deactivate_schedules_for_inactive_users] {"success":true,"message":"No inactive users","inactive_user_ids":[],"schedules_updated":0}
[2026-05-22 23:00:01] [cron_deactivate_schedules_for_inactive_users] end
