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