From bd467aefe241408610fa4083c63a205ccfac7ab4 Mon Sep 17 00:00:00 2001 From: teguh nugroho Date: Tue, 18 Aug 2026 15:09:56 +0700 Subject: [PATCH] import fix --- pkg/importer/importer.go | 22 ++++++++++++++++------ storage/logs/app.log | 3 +++ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/pkg/importer/importer.go b/pkg/importer/importer.go index 5d54933..4289f2b 100644 --- a/pkg/importer/importer.go +++ b/pkg/importer/importer.go @@ -370,11 +370,11 @@ func (i *Importer) processAsyncWorker(ctx context.Context, file io.Reader, jobID } if ctx.Err() != nil { - i.JobQ.StopJob(ctx, jobID) + i.JobQ.StopJob(context.Background(), jobID) } else { - i.JobQ.CompleteJob(ctx, jobID, imported, skipped, errors) + i.JobQ.CompleteJob(context.Background(), jobID, imported, skipped, errors) } - i.saveJobLogs(ctx, jobID, logs, imported, skipped, errors) + i.saveJobLogs(context.Background(), jobID, logs, imported, skipped, errors) } func (i *Importer) StopJob(jobID string) error { @@ -386,6 +386,9 @@ func (i *Importer) StopJob(jobID string) error { return fmt.Errorf("job not found or already completed") } + ctx := context.Background() + i.JobQ.StopJob(ctx, jobID) + cancel() return nil } @@ -431,12 +434,19 @@ func (i *Importer) GetJobStatus(jobID string) (*jobqueue.Job, []ImportLog, error return nil, nil, err } - var logs []ImportLog + var allLogs []ImportLog key := fmt.Sprintf("import_job:%s:logs", jobID) logsJSON, err := i.Helper.GetRedis("slave").Get(ctx, key).Result() if err == nil { - json.Unmarshal([]byte(logsJSON), &logs) + json.Unmarshal([]byte(logsJSON), &allLogs) } - return job, logs, nil + var filteredLogs []ImportLog + for _, log := range allLogs { + if log.Status == "error" || log.Status == "skipped" { + filteredLogs = append(filteredLogs, log) + } + } + + return job, filteredLogs, nil } diff --git a/storage/logs/app.log b/storage/logs/app.log index f9660f7..6f0837c 100644 --- a/storage/logs/app.log +++ b/storage/logs/app.log @@ -895,3 +895,6 @@ {"level":"info","ts":"2026-08-18T14:20:52.742+0700","caller":"middleware/auth.go:62","msg":"session_login : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiIxOWZmMTA0YzE2NTIyYTIyNTJjYmFjYTI0ZCIsImlzcyI6ImNhcmdvLXBsYXRmb3JtIiwic3ViIjoiMTlmZjEwNGMxNjUyMmEyMjUyY2JhY2EyNGQiLCJleHAiOjE3ODcwNDEwNTksImlhdCI6MTc4NzAzNzQ1OX0.YySp6YT6H0YXQg7XOSzwMvXYUzM15BTJAyNLtI8P3UI"} {"level":"info","ts":"2026-08-18T14:20:53.331+0700","caller":"middleware/auth.go:90","msg":"Set Auth : {\"blocked\":false,\"blocked_notes\":null,\"citys_relation\":null,\"created_by\":null,\"created_on\":\"2026-08-11T20:30:48.554654Z\",\"districts_relation\":null,\"email\":\"gcx@gmail.com\",\"id\":\"19ff104c16522a2252cbaca24d\",\"is_active\":true,\"merchant_id\":\"19ff111bca6c2c382d9eb43b3c\",\"merchant_relation\":null,\"merchants_relation\":null,\"nick_name\":\"Administrator\",\"postal_codes_relation\":null,\"provinces_relation\":null,\"subdistricts_relation\":null,\"updated_by\":null,\"updated_on\":\"2026-08-11T20:30:48.554654Z\",\"users_role_id\":\"19fe814c5350d67814c3e6057c\",\"users_role_relation\":{\"created_by\":null,\"created_on\":\"2026-08-10T02:51:43.16495Z\",\"id\":\"19fe814c5350d67814c3e6057c\",\"merchant_id\":null,\"merchant_relation\":{\"active\":null,\"additional_information\":null,\"address\":null,\"city_id\":null,\"city_relation\":null,\"citys_relation\":null,\"created_by\":null,\"created_by_relation\":null,\"created_on\":null,\"district_id\":null,\"district_relation\":null,\"districts_relation\":null,\"email\":null,\"id\":\"\",\"modas_relation\":null,\"name\":null,\"package_types_relation\":null,\"postal_code\":null,\"postal_codes_relation\":null,\"province_id\":null,\"province_relation\":null,\"provinces_relation\":null,\"subdistrict_id\":null,\"subdistrict_relation\":null,\"subdistricts_relation\":null,\"telp\":null,\"updated_by\":null,\"updated_on\":null,\"users_roless_relation\":null,\"userss_relation\":null},\"name\":\"Administrator\",\"role_key\":\"ADM_MERCHANT\",\"updated_by\":null,\"updated_on\":\"2026-08-10T02:51:43.16495Z\",\"userss_relation\":null}}"} {"level":"info","ts":"2026-08-18T14:21:04.385+0700","caller":"handlers/handlers.go:67","msg":"Request Success","status":200,"method":"GET","path":"/master-data/provinces/import/status/35105866-bf8e-4575-b2df-a0de79e4e0de","query":"","ip":"127.0.0.1","latency":11.643231917,"user-agent":"Apidog/1.0.0 (https://apidog.com)"} +{"level":"info","ts":"2026-08-18T15:06:06.979+0700","caller":"middleware/auth.go:62","msg":"session_login : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiIxOWZmMTA0YzE2NTIyYTIyNTJjYmFjYTI0ZCIsImlzcyI6ImNhcmdvLXBsYXRmb3JtIiwic3ViIjoiMTlmZjEwNGMxNjUyMmEyMjUyY2JhY2EyNGQiLCJleHAiOjE3ODcwNDEwNTksImlhdCI6MTc4NzAzNzQ1OX0.YySp6YT6H0YXQg7XOSzwMvXYUzM15BTJAyNLtI8P3UI"} +{"level":"info","ts":"2026-08-18T15:06:07.107+0700","caller":"middleware/auth.go:90","msg":"Set Auth : {\"blocked\":false,\"blocked_notes\":null,\"citys_relation\":null,\"created_by\":null,\"created_on\":\"2026-08-11T20:30:48.554654Z\",\"districts_relation\":null,\"email\":\"gcx@gmail.com\",\"id\":\"19ff104c16522a2252cbaca24d\",\"is_active\":true,\"merchant_id\":\"19ff111bca6c2c382d9eb43b3c\",\"merchant_relation\":null,\"merchants_relation\":null,\"nick_name\":\"Administrator\",\"postal_codes_relation\":null,\"provinces_relation\":null,\"subdistricts_relation\":null,\"updated_by\":null,\"updated_on\":\"2026-08-11T20:30:48.554654Z\",\"users_role_id\":\"19fe814c5350d67814c3e6057c\",\"users_role_relation\":{\"created_by\":null,\"created_on\":\"2026-08-10T02:51:43.16495Z\",\"id\":\"19fe814c5350d67814c3e6057c\",\"merchant_id\":null,\"merchant_relation\":{\"active\":null,\"additional_information\":null,\"address\":null,\"city_id\":null,\"city_relation\":null,\"citys_relation\":null,\"created_by\":null,\"created_by_relation\":null,\"created_on\":null,\"district_id\":null,\"district_relation\":null,\"districts_relation\":null,\"email\":null,\"id\":\"\",\"modas_relation\":null,\"name\":null,\"package_types_relation\":null,\"postal_code\":null,\"postal_codes_relation\":null,\"province_id\":null,\"province_relation\":null,\"provinces_relation\":null,\"subdistrict_id\":null,\"subdistrict_relation\":null,\"subdistricts_relation\":null,\"telp\":null,\"updated_by\":null,\"updated_on\":null,\"users_roless_relation\":null,\"userss_relation\":null},\"name\":\"Administrator\",\"role_key\":\"ADM_MERCHANT\",\"updated_by\":null,\"updated_on\":\"2026-08-10T02:51:43.16495Z\",\"userss_relation\":null}}"} +{"level":"info","ts":"2026-08-18T15:06:07.449+0700","caller":"handlers/handlers.go:67","msg":"Request Success","status":200,"method":"GET","path":"/master-data/provinces/import/status/efdbf19b-c71c-4c11-b160-2f82cff26fe4","query":"","ip":"127.0.0.1","latency":0.477752042,"user-agent":"Apidog/1.0.0 (https://apidog.com)"}