Sha256: 8260c494f787d60a350de7e1a892e8b6f2b7d6402b6259e6300445272c020412

Contents?: true

Size: 919 Bytes

Versions: 5

Compression:

Stored size: 919 Bytes

Contents

#!/bin/env ruby

require './config/environment.rb'

require 'seapig-client'



EM.run {
	
	SeapigServer.new(ARGV[0],name: 'session-saver').slave('web-session-data-*').onchange { |session_data|
		next if session_data.destroyed
		session_key = session_data.object_id
		session = SeapigRouterSession.find_by(key: session_key.split('-',4)[3])
		if not session
			puts "Ignoring unknown session: "+session_key
			next
		end
		print "Saving session: "+session_key+" states: "
		max_state = session.seapig_router_session_states.order("state_id DESC").first
		max_state_id = (max_state and max_state.state_id or -1)
		session_data['states'].each { |state|
			if state['id'] > max_state_id
				print ' '+state['id'].inspect
				SeapigRouterSessionState.create!(seapig_router_session_id: session.id, state_id: state['id'], state: state)
			end
		}
		puts
		SeapigDependency.bump("SeapigRouterSessionState#"+session.key)
	}

}



Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
seapig-rails-0.1.4 bin/seapig-rails-session-saver
seapig-rails-0.1.3 bin/seapig-rails-session-saver
seapig-rails-0.1.2 bin/seapig-rails-session-saver
seapig-rails-0.1.0 bin/seapig-rails-session-saver
seapig-rails-0.0.7 bin/seapig-session-saver