On 09/02/2006, at 9:23 PM, mario ruggier wrote: > Maybe in quixote or qp, a separate script/process could watch > specific source files, as well as (re-)spawn off the actual web > process. I use a very similar idea for development in another web framework running under a Medusa server that I'm migrating from to QP at the moment. I looked what Cherrypy was doing and decided that I didn't need the complication of threads. All I do is start my dev server with a wrapper script that does a 'find' for all *.py files (could be *.qpy) in ./lib and checks that list every second with stat and restarts the main process if a file is modified. Given that we'd never run anything like this in production we were more than happy to live with the obvious limitations of this approach given how simple the wrapper script is. Peter W. MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIGHDCCAtUw ggI+oAMCAQICAw8eHTANBgkqhkiG9w0BAQQFADBiMQswCQYDVQQGEwJaQTElMCMGA1UEChMcVGhh d3RlIENvbnN1bHRpbmcgKFB0eSkgTHRkLjEsMCoGA1UEAxMjVGhhd3RlIFBlcnNvbmFsIEZyZWVt YWlsIElzc3VpbmcgQ0EwHhcNMDUwNzEyMDA1MDUxWhcNMDYwNzEyMDA1MDUxWjBGMR8wHQYDVQQD ExZUaGF3dGUgRnJlZW1haWwgTWVtYmVyMSMwIQYJKoZIhvcNAQkBFhRwd0B0aGlyZGZsb29yLmNv bS5hdTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAONzD6vwPAnng3ZgUzLjtYSAbcq9 e9HQMA53bBGs0y3MUc+EE8QG1Zt6I/qcK0fXBY67DLhdaZnKbKG8O35dowiT8vDfXig3zOdpsa0w HrMJhXtt6D6UZeMdIs/w7f2+FLs4N8F5NLW5X1p2Ynw20BrjR6Cw8UkD/GfaSY4yIr4fp0vS4Zgb aLZkegYFimycJuKd50K78/uDuM/YyOtt4GUDqgWAXD17qxk6o6TLsoBNFTS+xUBbdfKb3/DTtUuJ UyKNNejPz1ayI9b2iIEHmdCORBdA8qRXOzPwhA+bhCmS4lDAknvUDNRfVjRQpUbM15CozJytTy3y zdW6pwWHkL8CAwEAAaMxMC8wHwYDVR0RBBgwFoEUcHdAdGhpcmRmbG9vci5jb20uYXUwDAYDVR0T AQH/BAIwADANBgkqhkiG9w0BAQQFAAOBgQAZcANmAS5UcCIie22X8SG0U/nAKeD6tokUOz3a+/Sj e8VHdAiLa2v592E8SzwamD6m52E0xPu+mQ7P+4KSHmlSCrJM214Vp+HmdEXpi3VOaGffzyJg15V7 6iv3WX3HCKA8J8PgWOqcW2RSKnyJxtwjXN/flmVLSFf9mxH5zYN/CjCCAz8wggKooAMCAQICAQ0w DQYJKoZIhvcNAQEFBQAwgdExCzAJBgNVBAYTAlpBMRUwEwYDVQQIEwxXZXN0ZXJuIENhcGUxEjAQ BgNVBAcTCUNhcGUgVG93bjEaMBgGA1UEChMRVGhhd3RlIENvbnN1bHRpbmcxKDAmBgNVBAsTH0Nl cnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xJDAiBgNVBAMTG1RoYXd0ZSBQZXJzb25hbCBG cmVlbWFpbCBDQTErMCkGCSqGSIb3DQEJARYccGVyc29uYWwtZnJlZW1haWxAdGhhd3RlLmNvbTAe Fw0wMzA3MTcwMDAwMDBaFw0xMzA3MTYyMzU5NTlaMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQKExxU aGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwgRnJl ZW1haWwgSXNzdWluZyBDQTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAxKY8VXNV+065ypla HmjAdQRwnd/p/6Me7L3N9VvyGna9fww6YfK/Uc4B1OVQCjDXAmNaLIkVcI7dyfArhVqqP3FWy688 Cwfn8R+RNiQqE88r1fOCdz0Dviv+uxg+B79AgAJk16emu59l0cUqVIUPSAR/p7bRPGEEQB5kGXJg t/sCAwEAAaOBlDCBkTASBgNVHRMBAf8ECDAGAQH/AgEAMEMGA1UdHwQ8MDowOKA2oDSGMmh0dHA6 Ly9jcmwudGhhd3RlLmNvbS9UaGF3dGVQZXJzb25hbEZyZWVtYWlsQ0EuY3JsMAsGA1UdDwQEAwIB BjApBgNVHREEIjAgpB4wHDEaMBgGA1UEAxMRUHJpdmF0ZUxhYmVsMi0xMzgwDQYJKoZIhvcNAQEF BQADgYEASIzRUIPqCy7MDaNmrGcPf6+svsIXoUOWlJ1/TCG4+DYfqi2fNi/A9BxQIJNwPP2t4WFi w9k6GX6EsZkbAMUaC4J0niVQlGLH2ydxVyWN3amcOY6MIE9lX5Xa9/eH1sYITq726jTlEBpbNU13 41YheILcIRk13iSx0x1G/11fZU8xggLnMIIC4wIBATBpMGIxCzAJBgNVBAYTAlpBMSUwIwYDVQQK ExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3dGUgUGVyc29uYWwg RnJlZW1haWwgSXNzdWluZyBDQQIDDx4dMAkGBSsOAwIaBQCgggFTMBgGCSqGSIb3DQEJAzELBgkq hkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTA2MDIwOTEwNTYyOFowIwYJKoZIhvcNAQkEMRYEFE8e ik4GXSUcagkNfl1EuCBsdh/nMHgGCSsGAQQBgjcQBDFrMGkwYjELMAkGA1UEBhMCWkExJTAjBgNV BAoTHFRoYXd0ZSBDb25zdWx0aW5nIChQdHkpIEx0ZC4xLDAqBgNVBAMTI1RoYXd0ZSBQZXJzb25h bCBGcmVlbWFpbCBJc3N1aW5nIENBAgMPHh0wegYLKoZIhvcNAQkQAgsxa6BpMGIxCzAJBgNVBAYT AlpBMSUwIwYDVQQKExxUaGF3dGUgQ29uc3VsdGluZyAoUHR5KSBMdGQuMSwwKgYDVQQDEyNUaGF3 dGUgUGVyc29uYWwgRnJlZW1haWwgSXNzdWluZyBDQQIDDx4dMA0GCSqGSIb3DQEBAQUABIIBAAfj XbJNiIG1xrK8Y69LEdSy+aBwH9ljwLZHHSy/hnAxiJdBPWP28vt7dOyU0lVt/2nKcfdXax65k27u XtVk7EyjLKq/8/yctwgMmVINyBGNSntnB6MGNt5ej35iMBeoGaOgWo+Ayv2zOGwfsLSbNGibgqms ypo5+xQBt58yNdG609lxkOdgqdayr79WGWQ1ftt8VlBypo/TdpLdTBGlV81RfZ17/bg74/0fmVz1 /iz878VhCVMOhV94yFBLcRdK3XyCXWw8pY7fCSuUDq3Be2xULBiiN3ClZyCt/ubpn8XazCXuX9oT Kn2NT+DJ+bGeH95gJgu8F437KKaZuV2j+1sAAAAAAAA=