como serializar um objeto usando o TCPServer dentr
Em um esforço para acelerar execuções repetidas freqüentes de um script específico em minha cadeia, comecei a serializar em disco objetos personalizados que, de outra forma, levam muito tempo para serem criados de forma agregad
Usando o Yaml e / ou o Marshal embutido.
@Yaml serializa bem em um arquivo de texto aparentemente íntegro, mas produz o seguinte erro ao tentar desserializar:
b2 = YAML::load(File.open("browserObj.yaml", 'r'))
Syck::TypeError: Invalid Regular expression: "/\\A\\s*\n ([a-zA-Z][-+.a-zA-Z\\d]*): ...and many more strange lines
No entanto, mesmo tentando salvar em um arquivo binário via erros do Marshal:
puts File.open("browserObj.bin", 'w').write Marshal::dump($browser)
TypeError: can't dump TCPServer
# Marshal::dump($browser, File.open("browserObj.bin", 'wb')) # same error
Por deliberadamente não fazer$browser.close
no final, tenho a opção de manter este servidor TCPS ativo e em execução após a vida útil do meu script Rub
Any pensamentos como eu posso fugir com isso? Prometo que após o sucesso do recarregamento, verifique novamente a validade de quaisquer soquetes / objetos internos e simplesmente reinicialize um objeto totalmente novo, se for necessári