지난 편까지 아이폰과의 복사·붙여넣기 전쟁을 치르고 나서, 자동화 코드는 무사히 완성됐습니다. 이제 다 끝났다고 생각했는데, 진짜 재미있는 일은 그다음부터 시작이었어요.
잘 되던 게 갑자기 안 될 때의 그 느낌
며칠 동안 아무 문제 없이 잘 돌아가서 마음을 놓고 있었는데, 어느 날 아침 확인해보니 자동으로 열려 있어야 할 화면이 이상했습니다. 글쓰기 화면이 아니라 로그인 화면에서 그대로 멈춰 있었던 거예요. 마치 매일 아침 알아서 문을 열어주던 가게 직원이 어느 날 갑자기 "저 오늘부터 출입증이 없어서 못 들어가요"라고 말하는 느낌이었달까요.
원인은 로그인 세션이라는 놈이었다
알고 보니 로그인 상태(세션)에는 유효기간이 있고, 그 기간이 지나면 아무 예고 없이 로그아웃되는 거였습니다. 사람이야 그냥 다시 로그인하면 그만이지만, 새벽에 혼자 일하는 프로그램 입장에서는 이게 꽤 당황스러운 상황이었나 봐요. 로그인 버튼을 눌러야 하는데, 정작 로그인 버튼 앞에서 그냥 멈춰버리는 거죠.
이 사실을 몰랐을 때는 매일 아침 일어나자마자 "오늘은 로그인이 안 풀렸으려나" 하고 확인하는 게 하루 일과의 시작이 됐습니다. 풀려 있으면 다시 로그인해주고, 살아있으면 안도하고. 은근히 신경 쓰이는 루틴이었어요.
결국 찾은 해결책
결국 로그인에 성공했을 때의 정보를 따로 저장해뒀다가, 자동화가 시작될 때마다 그 정보를 먼저 확인하도록 바꿨습니다. 언제쯤 다시 로그인이 필요한지도 미리 알 수 있게 되면서, 적어도 "왜 또 이러지?" 하고 당황하는 일은 없어졌어요.
돌아보면 로그인이라는 게 사람한테는 너무 당연하고 사소한 절차인데, 혼자 일하는 프로그램한테는 꽤 중요한 문제였다는 걸 이번에 알았습니다. 편해 보이던 것들이 사실은 다 누군가(혹은 무언가)의 배려로 유지되고 있었다는 걸 새삼 느낀 사건이었어요.
다음 편에서는 지금까지 겪은 일들 중 가장 대형 사고였던 이야기를 풀어보려고 합니다. 어느 날 갑자기 자동화가 완전히 멈춰버렸는데, 알고 보니 범인이 두 명이나 있었던 사건이에요.
댓글
댓글 쓰기