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