Save job on every perform

This commit is contained in:
Dzmitry Plashchynski
2015-03-06 23:57:55 +02:00
parent c8a4189fd4
commit fe24b435b3
4 changed files with 12 additions and 5 deletions

View File

@@ -25,6 +25,7 @@ module Crono
def perform def perform
logger.info "Perform #{performer}" logger.info "Perform #{performer}"
self.last_performed_at = Time.now self.last_performed_at = Time.now
save
Thread.new do Thread.new do
performer.new.perform performer.new.perform
logger.info "Finished #{performer} in %.2f seconds" % (Time.now - last_performed_at) logger.info "Finished #{performer} in %.2f seconds" % (Time.now - last_performed_at)

View File

@@ -18,6 +18,12 @@ describe Crono::Job do
thread = job.perform.join thread = job.perform.join
expect(thread).to be_stop expect(thread).to be_stop
end end
it "should call Job#save after run" do
expect(job).to receive(:save)
job.perform.join
job.send(:model).destroy
end
end end
describe "#description" do describe "#description" do

View File

@@ -1,9 +1,4 @@
require "spec_helper" require "spec_helper"
require "generators/crono/install/templates/migrations/create_crono_jobs.rb"
ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:')
ActiveRecord::Base.logger = Logger.new(STDOUT)
CreateActiveAdminComments.up
describe Crono::CronoJob do describe Crono::CronoJob do
let(:valid_attrs) do let(:valid_attrs) do

View File

@@ -3,6 +3,11 @@ Bundler.setup
require 'timecop' require 'timecop'
require 'crono' require 'crono'
require 'generators/crono/install/templates/migrations/create_crono_jobs.rb'
ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:')
ActiveRecord::Base.logger = Logger.new(STDOUT)
CreateActiveAdminComments.up
RSpec.configure do |config| RSpec.configure do |config|
end end