spec/internal/log/test.log in crono-2.0.1 vs spec/internal/log/test.log in crono-2.1.0
- old
+ new
@@ -6281,5 +6281,476 @@
Completed 200 OK in 1ms (Views: 0.6ms | ActiveRecord: 0.0ms | Allocations: 1960)
[1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
[1m[36mCrono::CronoJob Destroy (0.0ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 1]]
[1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
[1m[36mTRANSACTION (0.2ms)[0m [1m[31mrollback transaction[0m
+ [1m[35m (5.4ms)[0m [1m[35mCREATE TABLE "crono_jobs" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "job_id" varchar NOT NULL, "log" text(1073741823), "last_performed_at" datetime(6), "healthy" boolean, "created_at" datetime(6) NOT NULL, "updated_at" datetime(6) NOT NULL)[0m
+ [1m[35m (0.1ms)[0m [1m[35mCREATE UNIQUE INDEX "index_crono_jobs_on_job_id" ON "crono_jobs" ("job_id")[0m
+ [1m[35m (0.1ms)[0m [1m[35mCREATE TABLE "schema_migrations" ("version" varchar NOT NULL PRIMARY KEY)[0m
+ [1m[35m (0.1ms)[0m [1m[35mCREATE TABLE "ar_internal_metadata" ("key" varchar NOT NULL PRIMARY KEY, "value" varchar, "created_at" datetime(6) NOT NULL, "updated_at" datetime(6) NOT NULL)[0m
+ [1m[36mActiveRecord::InternalMetadata Load (0.1ms)[0m [1m[34mSELECT * FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? ORDER BY "ar_internal_metadata"."key" ASC LIMIT 1[0m [[nil, "environment"]]
+ [1m[36mActiveRecord::InternalMetadata Create (0.1ms)[0m [1m[32mINSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES ('environment', 'test', '2024-12-18 11:55:49.546277', '2024-12-18 11:55:49.546279') RETURNING "key"[0m
+ [1m[36mActiveRecord::InternalMetadata Load (0.0ms)[0m [1m[34mSELECT * FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? ORDER BY "ar_internal_metadata"."key" ASC LIMIT 1[0m [[nil, "environment"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.1ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.1ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.0ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:49.982483"], ["updated_at", "2024-12-18 11:55:49.982483"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Destroy (0.1ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestFailingJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestFailingJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestFailingJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:49.984033"], ["updated_at", "2024-12-18 11:55:49.984033"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."id" = ? LIMIT ?[0m [["id", 1], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Update (0.0ms)[0m [1m[33mUPDATE "crono_jobs" SET "log" = ?, "last_performed_at" = ?, "healthy" = ?, "updated_at" = ? WHERE "crono_jobs"."id" = ?[0m [["log", "I, [2024-12-18T14:55:49.983506 #22753] INFO -- : Perform TestFailingJob\nE, [2024-12-18T14:55:49.983595 #22753] ERROR -- : Finished TestFailingJob in 0.00 seconds with error: Some error\nE, [2024-12-18T14:55:49.983607 #22753] ERROR -- : /Users/dima/dev/crono/spec/job_spec.rb:11:in `perform'\n/Users/dima/dev/crono/lib/crono/job.rb:82:in `perform_job'\n/Users/dima/dev/crono/lib/crono/job.rb:43:in `block in perform'\n"], ["last_performed_at", "2024-12-18 11:55:49.983511"], ["healthy", 0], ["updated_at", "2024-12-18 11:55:49.984707"], ["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestFailingJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:49.989155"], ["updated_at", "2024-12-18 11:55:49.989155"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Destroy (0.1ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 2]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestFailingJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestFailingJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestFailingJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:49.990272"], ["updated_at", "2024-12-18 11:55:49.990272"]]
+ [1m[36mTRANSACTION (0.1ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."id" = ? LIMIT ?[0m [["id", 1], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Update (0.1ms)[0m [1m[33mUPDATE "crono_jobs" SET "log" = ?, "last_performed_at" = ?, "healthy" = ?, "updated_at" = ? WHERE "crono_jobs"."id" = ?[0m [["log", "I, [2024-12-18T14:55:49.989854 #22753] INFO -- : Perform TestFailingJob\nE, [2024-12-18T14:55:49.989913 #22753] ERROR -- : Finished TestFailingJob in 0.00 seconds with error: Some error\nE, [2024-12-18T14:55:49.989924 #22753] ERROR -- : /Users/dima/dev/crono/spec/job_spec.rb:11:in `perform'\n/Users/dima/dev/crono/lib/crono/job.rb:82:in `perform_job'\n/Users/dima/dev/crono/lib/crono/job.rb:43:in `block in perform'\n"], ["last_performed_at", "2024-12-18 11:55:49.989858"], ["healthy", 0], ["updated_at", "2024-12-18 11:55:49.990744"], ["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:49.991364"], ["updated_at", "2024-12-18 11:55:49.991364"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Destroy (0.0ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 2]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:49.992352"], ["updated_at", "2024-12-18 11:55:49.992352"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.1ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? ORDER BY "crono_jobs"."id" ASC LIMIT ? [0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Update (0.0ms)[0m [1m[33mUPDATE "crono_jobs" SET "updated_at" = ? WHERE "crono_jobs"."id" = ?[0m [["updated_at", "2024-12-18 11:55:49.992892"], ["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Destroy (0.1ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:49.994245"], ["updated_at", "2024-12-18 11:55:49.994245"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Destroy (0.1ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.1ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:49.995577"], ["updated_at", "2024-12-18 11:55:49.995577"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Destroy (0.1ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:49.996996"], ["updated_at", "2024-12-18 11:55:49.996996"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Destroy (0.1ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:49.998155"], ["updated_at", "2024-12-18 11:55:49.998155"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."id" = ? LIMIT ?[0m [["id", 1], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Update (0.1ms)[0m [1m[33mUPDATE "crono_jobs" SET "log" = ?, "last_performed_at" = ?, "healthy" = ?, "updated_at" = ? WHERE "crono_jobs"."id" = ?[0m [["log", "I, [2024-12-18T14:55:49.997730 #22753] INFO -- : Perform TestJob\nE, [2024-12-18T14:55:49.997798 #22753] ERROR -- : Finished TestJob in 0.00 seconds with error: undefined method `perform' for nil:NilClass\nE, [2024-12-18T14:55:49.997808 #22753] ERROR -- : /Users/dima/dev/crono/lib/crono/job.rb:82:in `perform_job'\n/Users/dima/dev/crono/lib/crono/job.rb:43:in `block in perform'\n"], ["last_performed_at", "2024-12-18 11:55:49.997734"], ["healthy", 0], ["updated_at", "2024-12-18 11:55:49.998586"], ["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Destroy (0.0ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:49.999806"], ["updated_at", "2024-12-18 11:55:49.999806"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."id" = ? LIMIT ?[0m [["id", 1], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Update (0.1ms)[0m [1m[33mUPDATE "crono_jobs" SET "log" = ?, "last_performed_at" = ?, "healthy" = ?, "updated_at" = ? WHERE "crono_jobs"."id" = ?[0m [["log", "I, [2024-12-18T14:55:49.999400 #22753] INFO -- : Perform TestJob\nI, [2024-12-18T14:55:49.999493 #22753] INFO -- : Finished TestJob in 0.00 seconds\n"], ["last_performed_at", "2024-12-18 11:55:49.999404"], ["healthy", 1], ["updated_at", "2024-12-18 11:55:50.000182"], ["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Destroy (0.0ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Exists? (0.0ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:50.003510"], ["updated_at", "2024-12-18 11:55:50.003510"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."id" = ? LIMIT ?[0m [["id", 1], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Update (0.1ms)[0m [1m[33mUPDATE "crono_jobs" SET "log" = ?, "updated_at" = ? WHERE "crono_jobs"."id" = ?[0m [["log", ""], ["updated_at", "2024-12-18 11:55:50.003915"], ["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.0ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:50.004847"], ["updated_at", "2024-12-18 11:55:50.004847"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."id" = ? LIMIT ?[0m [["id", 1], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Update (0.1ms)[0m [1m[33mUPDATE "crono_jobs" SET "log" = ?, "last_performed_at" = ?, "healthy" = ?, "updated_at" = ? WHERE "crono_jobs"."id" = ?[0m [["log", ""], ["last_performed_at", "2024-12-18 11:55:50.004551"], ["healthy", 1], ["updated_at", "2024-12-18 11:55:50.005219"], ["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:50.006126"], ["updated_at", "2024-12-18 11:55:50.006126"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."id" = ? LIMIT ?[0m [["id", 1], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Update (0.1ms)[0m [1m[33mUPDATE "crono_jobs" SET "log" = ?, "updated_at" = ? WHERE "crono_jobs"."id" = ?[0m [["log", "I, [2024-12-18T14:55:50.005832 #22753] INFO -- : test message\n"], ["updated_at", "2024-12-18 11:55:50.006495"], ["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."id" = ? LIMIT ?[0m [["id", 1], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.0ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:50.007408"], ["updated_at", "2024-12-18 11:55:50.007408"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."id" = ? LIMIT ?[0m [["id", 1], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Update (0.1ms)[0m [1m[33mUPDATE "crono_jobs" SET "log" = ?, "updated_at" = ? WHERE "crono_jobs"."id" = ?[0m [["log", "I, [2024-12-18T14:55:50.007123 #22753] INFO -- : line 1\nline 2\nline 3\nline 4\nline 5\nline 6\nline 7\nline 8\nline 9\nline 10\nline 11\nline 12\nline 13\nline 14\nline 15\nline 16\nline 17\nline 18\nline 19\nline 20\nline 21\nline 22\nline 23\nline 24\nline 25\nline 26\nline 27\nline 28\nline 29\nline 30\nline 31\nline 32\nline 33\nline 34\nline 35\nline 36\nline 37\nline 38\nline 39\nline 40\nline 41\nline 42\nline 43\nline 44\nline 45\nline 46\nline 47\nline 48\nline 49\nline 50\nline 51\nline 52\nline 53\nline 54\nline 55\nline 56\nline 57\nline 58\nline 59\nline 60\nline 61\nline 62\nline 63\nline 64\nline 65\nline 66\nline 67\nline 68\nline 69\nline 70\nline 71\nline 72\nline 73\nline 74\nline 75\nline 76\nline 77\nline 78\nline 79\nline 80\nline 81\nline 82\nline 83\nline 84\nline 85\nline 86\nline 87\nline 88\nline 89\nline 90\nline 91\nline 92\nline 93\nline 94\nline 95\nline 96\nline 97\nline 98\nline 99\nline 100\n"], ["updated_at", "2024-12-18 11:55:50.007816"], ["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."id" = ? LIMIT ?[0m [["id", 1], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:50.008754"], ["updated_at", "2024-12-18 11:55:50.008754"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."id" = ? LIMIT ?[0m [["id", 1], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Update (0.1ms)[0m [1m[33mUPDATE "crono_jobs" SET "log" = ?, "updated_at" = ? WHERE "crono_jobs"."id" = ?[0m [["log", "line 51\nline 52\nline 53\nline 54\nline 55\nline 56\nline 57\nline 58\nline 59\nline 60\nline 61\nline 62\nline 63\nline 64\nline 65\nline 66\nline 67\nline 68\nline 69\nline 70\nline 71\nline 72\nline 73\nline 74\nline 75\nline 76\nline 77\nline 78\nline 79\nline 80\nline 81\nline 82\nline 83\nline 84\nline 85\nline 86\nline 87\nline 88\nline 89\nline 90\nline 91\nline 92\nline 93\nline 94\nline 95\nline 96\nline 97\nline 98\nline 99\nline 100\n"], ["updated_at", "2024-12-18 11:55:50.009118"], ["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."id" = ? LIMIT ?[0m [["id", 1], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["created_at", "2024-12-18 11:55:50.010027"], ["updated_at", "2024-12-18 11:55:50.010027"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."id" = ? LIMIT ?[0m [["id", 1], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Update (0.1ms)[0m [1m[33mUPDATE "crono_jobs" SET "log" = ?, "last_performed_at" = ?, "updated_at" = ? WHERE "crono_jobs"."id" = ?[0m [["log", ""], ["last_performed_at", "2024-12-18 11:55:50.009734"], ["updated_at", "2024-12-18 11:55:50.010390"], ["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:00"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Exists? (0.0ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" IS NULL LIMIT ?[0m [["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "TestJob every 2 days"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "TestJob every 2 days"], ["created_at", "2024-12-18 11:55:50.012514"], ["updated_at", "2024-12-18 11:55:50.012514"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "TestJob every 2 days"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mROLLBACK TO SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.0ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "TestJob every 2 days"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 3 days"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 3 days"], ["created_at", "2024-12-18 11:55:50.013475"], ["updated_at", "2024-12-18 11:55:50.013475"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 3 days"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:30"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 2 days at 15:30"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 2 days at 15:30"], ["created_at", "2024-12-18 11:55:50.014854"], ["updated_at", "2024-12-18 11:55:50.014854"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "used_job"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "created_at", "updated_at") VALUES (?, ?, ?) RETURNING "id"[0m [["job_id", "used_job"], ["created_at", "2024-12-18 11:55:54.022832"], ["updated_at", "2024-12-18 11:55:54.022832"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE 1=1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Destroy (0.1ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.0ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "used_job"], ["LIMIT", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs"[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 5 seconds"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "log", "created_at", "updated_at") VALUES (?, ?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 5 seconds"], ["log", "All runs ok"], ["created_at", "2024-12-18 11:55:54.024724"], ["updated_at", "2024-12-18 11:55:54.024724"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+Processing by Crono::JobsController#index as HTML
+ Rendering layout /Users/dima/dev/crono/app/views/layouts/crono/application.html.erb
+ Rendering /Users/dima/dev/crono/app/views/crono/jobs/index.html.erb within layouts/crono/application
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs"[0m
+ Rendered /Users/dima/dev/crono/app/views/crono/jobs/index.html.erb within layouts/crono/application (Duration: 0.5ms | GC: 0.0ms)
+ Rendered layout /Users/dima/dev/crono/app/views/layouts/crono/application.html.erb (Duration: 7.7ms | GC: 0.0ms)
+Completed 200 OK in 92ms (Views: 11.1ms | ActiveRecord: 0.0ms (1 query, 0 cached) | GC: 0.0ms)
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Destroy (0.1ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs"[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 5 seconds"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.1ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "log", "created_at", "updated_at") VALUES (?, ?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 5 seconds"], ["log", "All runs ok"], ["created_at", "2024-12-18 11:55:54.132877"], ["updated_at", "2024-12-18 11:55:54.132877"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Update (0.1ms)[0m [1m[33mUPDATE "crono_jobs" SET "last_performed_at" = ?, "healthy" = ?, "updated_at" = ? WHERE "crono_jobs"."id" = ?[0m [["last_performed_at", "2024-12-18 11:45:54.133286"], ["healthy", 0], ["updated_at", "2024-12-18 11:55:54.133384"], ["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+Processing by Crono::JobsController#index as HTML
+ Rendering layout /Users/dima/dev/crono/app/views/layouts/crono/application.html.erb
+ Rendering /Users/dima/dev/crono/app/views/crono/jobs/index.html.erb within layouts/crono/application
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs"[0m
+ Rendered /Users/dima/dev/crono/app/views/crono/jobs/index.html.erb within layouts/crono/application (Duration: 0.2ms | GC: 0.0ms)
+ Rendered layout /Users/dima/dev/crono/app/views/layouts/crono/application.html.erb (Duration: 0.3ms | GC: 0.0ms)
+Completed 200 OK in 31ms (Views: 0.5ms | ActiveRecord: 0.0ms (1 query, 0 cached) | GC: 0.0ms)
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Destroy (0.1ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs"[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 5 seconds"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "log", "created_at", "updated_at") VALUES (?, ?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 5 seconds"], ["log", "All runs ok"], ["created_at", "2024-12-18 11:55:54.165446"], ["updated_at", "2024-12-18 11:55:54.165446"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Update (0.1ms)[0m [1m[33mUPDATE "crono_jobs" SET "last_performed_at" = ?, "healthy" = ?, "updated_at" = ? WHERE "crono_jobs"."id" = ?[0m [["last_performed_at", "2024-12-18 11:45:54.165723"], ["healthy", 1], ["updated_at", "2024-12-18 11:55:54.165800"], ["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+Processing by Crono::JobsController#index as HTML
+ Rendering layout /Users/dima/dev/crono/app/views/layouts/crono/application.html.erb
+ Rendering /Users/dima/dev/crono/app/views/crono/jobs/index.html.erb within layouts/crono/application
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs"[0m
+ Rendered /Users/dima/dev/crono/app/views/crono/jobs/index.html.erb within layouts/crono/application (Duration: 0.3ms | GC: 0.0ms)
+ Rendered layout /Users/dima/dev/crono/app/views/layouts/crono/application.html.erb (Duration: 0.5ms | GC: 0.0ms)
+Completed 200 OK in 30ms (Views: 0.6ms | ActiveRecord: 0.0ms (1 query, 0 cached) | GC: 0.0ms)
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Destroy (0.1ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs"[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 5 seconds"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.1ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "log", "created_at", "updated_at") VALUES (?, ?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 5 seconds"], ["log", "All runs ok"], ["created_at", "2024-12-18 11:55:54.197572"], ["updated_at", "2024-12-18 11:55:54.197572"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+Processing by Crono::JobsController#index as HTML
+ Rendering layout /Users/dima/dev/crono/app/views/layouts/crono/application.html.erb
+ Rendering /Users/dima/dev/crono/app/views/crono/jobs/index.html.erb within layouts/crono/application
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs"[0m
+ Rendered /Users/dima/dev/crono/app/views/crono/jobs/index.html.erb within layouts/crono/application (Duration: 0.2ms | GC: 0.0ms)
+ Rendered layout /Users/dima/dev/crono/app/views/layouts/crono/application.html.erb (Duration: 0.3ms | GC: 0.0ms)
+Completed 200 OK in 31ms (Views: 0.4ms | ActiveRecord: 0.0ms (1 query, 0 cached) | GC: 0.0ms)
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Destroy (0.1ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs"[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 5 seconds"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "log", "created_at", "updated_at") VALUES (?, ?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 5 seconds"], ["log", "All runs ok"], ["created_at", "2024-12-18 11:55:54.230142"], ["updated_at", "2024-12-18 11:55:54.230142"]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+Processing by Crono::JobsController#show as HTML
+ Parameters: {"id"=>"1"}
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."id" = ? LIMIT ?[0m [["id", 1], ["LIMIT", 1]]
+ Rendering layout /Users/dima/dev/crono/app/views/layouts/crono/application.html.erb
+ Rendering /Users/dima/dev/crono/app/views/crono/jobs/show.html.erb within layouts/crono/application
+ Rendered /Users/dima/dev/crono/app/views/crono/jobs/show.html.erb within layouts/crono/application (Duration: 0.2ms | GC: 0.0ms)
+ Rendered layout /Users/dima/dev/crono/app/views/layouts/crono/application.html.erb (Duration: 0.3ms | GC: 0.0ms)
+Completed 200 OK in 31ms (Views: 0.5ms | ActiveRecord: 0.0ms (1 query, 0 cached) | GC: 0.0ms)
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Destroy (0.1ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[36mbegin transaction[0m
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs"[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Exists? (0.1ms)[0m [1m[34mSELECT 1 AS one FROM "crono_jobs" WHERE "crono_jobs"."job_id" = ? LIMIT ?[0m [["job_id", "Perform TestJob every 5 seconds"], ["LIMIT", 1]]
+ [1m[36mCrono::CronoJob Create (0.0ms)[0m [1m[32mINSERT INTO "crono_jobs" ("job_id", "log", "created_at", "updated_at") VALUES (?, ?, ?, ?) RETURNING "id"[0m [["job_id", "Perform TestJob every 5 seconds"], ["log", "All runs ok"], ["created_at", "2024-12-18 11:55:54.262458"], ["updated_at", "2024-12-18 11:55:54.262458"]]
+ [1m[36mTRANSACTION (0.1ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Update (0.1ms)[0m [1m[33mUPDATE "crono_jobs" SET "healthy" = ?, "updated_at" = ? WHERE "crono_jobs"."id" = ?[0m [["healthy", 0], ["updated_at", "2024-12-18 11:55:54.262897"], ["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+Processing by Crono::JobsController#show as HTML
+ Parameters: {"id"=>"1"}
+ [1m[36mCrono::CronoJob Load (0.0ms)[0m [1m[34mSELECT "crono_jobs".* FROM "crono_jobs" WHERE "crono_jobs"."id" = ? LIMIT ?[0m [["id", 1], ["LIMIT", 1]]
+ Rendering layout /Users/dima/dev/crono/app/views/layouts/crono/application.html.erb
+ Rendering /Users/dima/dev/crono/app/views/crono/jobs/show.html.erb within layouts/crono/application
+ Rendered /Users/dima/dev/crono/app/views/crono/jobs/show.html.erb within layouts/crono/application (Duration: 0.0ms | GC: 0.0ms)
+ Rendered layout /Users/dima/dev/crono/app/views/layouts/crono/application.html.erb (Duration: 0.1ms | GC: 0.0ms)
+Completed 200 OK in 29ms (Views: 0.3ms | ActiveRecord: 0.0ms (1 query, 0 cached) | GC: 0.0ms)
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mSAVEPOINT active_record_1[0m
+ [1m[36mCrono::CronoJob Destroy (0.1ms)[0m [1m[31mDELETE FROM "crono_jobs" WHERE "crono_jobs"."id" = ?[0m [["id", 1]]
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[35mRELEASE SAVEPOINT active_record_1[0m
+ [1m[36mTRANSACTION (0.0ms)[0m [1m[31mrollback transaction[0m