Add immediate Threads test posting and clean up published images
This commit is contained in:
@@ -55,13 +55,23 @@ npm run threads:preview
|
||||
npm run threads:run -- --dry-run
|
||||
```
|
||||
|
||||
`--now`는 `--dry-run`과 함께만 허용됩니다. 테스트 때문에 실제 계정에 게시하지 않습니다.
|
||||
`--now`는 `--dry-run`과 함께만 허용됩니다. 위 촬영 검증 명령은 실제 계정에 게시하지 않습니다.
|
||||
|
||||
### 지금 실제 테스트 게시하기
|
||||
|
||||
```bash
|
||||
npm run threads:post-now
|
||||
```
|
||||
|
||||
이 명령은 **일출까지 기다리지 않고 현재 시각의 두 앵글을 실제 Threads 계정에 게시**합니다. 게시 문구에는 테스트 게시임과 실제 촬영 시각을 표시합니다. 실행할 때마다 새 테스트 게시물이 생성되며, `test-날짜-UUID.json` 기록을 사용하므로 당일 일출 예약 게시를 막지 않습니다. 예약 서비스와 동일한 일반 사용자로 실행하세요. root에서는 Chromium sandbox가 동작하지 않습니다.
|
||||
|
||||
게시 ID를 받은 즉시 두 원본 JPEG를 삭제합니다. `Threads published: ...` 다음 `Deleted both source images after publication` 로그를 확인하세요. 삭제 실패 시 게시 기록은 유지하고 다음 게시 작업 시작 때 삭제를 재시도합니다. 게시 실패 또는 결과 불명확 상태에서는 이미지를 보관하며, 촬영 전용 preview 파일도 확인용으로 유지합니다. 서버 원본 삭제는 Threads에 게시된 사진을 삭제하는 작업이 아닙니다. 별도 CDN을 사용한다면 캐시 사본은 CDN의 만료 정책을 따릅니다.
|
||||
|
||||
## 4. 이미지 공개 URL
|
||||
|
||||
기본 저장 위치는 `dist/threads-captures/`, 공개 URL은 `https://sunrise.horoli.kr/threads-captures/`입니다. 기존 Node 정적 파일 서버가 이미지를 제공합니다. 저장된 JPEG의 공개 URL을 외부에서 열어 확인하세요. 게시 직전에 작업도 실제 다운로드한 바이트가 저장된 이미지와 같은지 확인합니다. Meta 서버가 로그인 없이 이미지를 읽을 수 있어야 합니다.
|
||||
|
||||
`npm run build`는 dist를 다시 생성합니다. 운영에서는 **배포와 독립적인 이미지 디렉터리**를 권장합니다. 예를 들어 `"imageDir": "/var/lib/sunrise/captures"`로 지정하고 Nginx에서 `/threads-captures/`를 해당 디렉터리에 연결하세요. Nginx 사용자에게 디렉터리 탐색·파일 읽기 권한을 부여하세요. `imageBaseUrl`도 실제 URL과 일치해야 합니다. 이미지에는 토큰이 포함되지 않습니다. 이미지 파일은 자동 삭제하지 않으므로 저장 용량을 관리하세요.
|
||||
`npm run build`는 dist를 다시 생성합니다. 운영에서는 **배포와 독립적인 이미지 디렉터리**를 권장합니다. 예를 들어 `"imageDir": "/var/lib/sunrise/captures"`로 지정하고 Nginx에서 `/threads-captures/`를 해당 디렉터리에 연결하세요. Nginx 사용자에게 디렉터리 탐색·파일 읽기 권한을 부여하세요. `imageBaseUrl`도 실제 URL과 일치해야 합니다. 이미지에는 토큰이 포함되지 않습니다. 예약 게시와 테스트 게시 모두 성공 후 원본 이미지를 즉시 삭제합니다.
|
||||
|
||||
## 5. 자동 실행 활성화
|
||||
|
||||
|
||||
Reference in New Issue
Block a user