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