diff --git a/job.go b/job.go index b76d6f1..354f368 100644 --- a/job.go +++ b/job.go @@ -147,28 +147,30 @@ func setJobTimeout(jobID64 int64, d time.Duration) error { func setJobPayload(jobID64 int64, payload []byte) error { var zb bytes.Buffer - zw := zlib.NewWriter(&zb) - zw.Write(payload) - zw.Close() - zpayload := zb.Bytes() + if len(payload) > 10000 { + zw := zlib.NewWriter(&zb) + zw.Write(payload) + zw.Close() + zpayload = zb.Bytes() + zipped = 1 + } else { + zpayload = payload + zipped = 0 + } - if len(zpayload) > 20000 { + if len(zpayload) > 10000 { return errors.New("payload too long") } -<<<<<<< HEAD - stmt, err := db.Prepare(`UPDATE obj_job j SET j.payload = ? WHERE j.obj_id = ?;`) - logOnError(err, "setJobPayload : prepare update obj_job") -======= - stmt, err := db.Prepare(`UPDATE obj_job j SET j.payload = ?, j.zipped = 1 WHERE j.obj_id = ?;`) + stmt, err := db.Prepare(`UPDATE obj_job j SET j.payload = ?, j.zipped = ? WHERE j.obj_id = ?;`) logOnError(err, "setJobTimeout : prepare update obj_job") ->>>>>>> refs/remotes/origin/master + if err != nil { return err } defer stmt.Close() - _, err = stmt.Exec(zpayload, jobID64) + _, err = stmt.Exec(zpayload, zipped, jobID64) logOnError(err, fmt.Sprintf("setJobPayload : update obj_job(%d)", jobID64)) if err != nil { return err