Re: [Cppcms-users] Unmount asynchronous application from application pool
Brought to you by:
artyom-beilis
|
From: Le Ba <hma...@gm...> - 2013-11-17 10:39:39
|
Excuse my poor English. I mean: I assume that you no longer need call service.run () again in "while" block in "main". you have called service.run () in the Activator constructor 2013/11/15 DieterM75 . <die...@gm...> > Hey, > > I tried the following code: > > http://pastie.org/8483126 > > Output is as follows: > > 2013-11-15 18:31:25; Activator, debug: Created service! (main.cpp:70) > > 2013-11-15 18:31:25; App, debug: ctor (main.cpp:36) > > Exception! > > 2013-11-15 18:31:28; App, debug: dtor (main.cpp:39) > > 2013-11-15 18:31:48; main, debug: Restarting service! (main.cpp:106) > > 2013-11-15 18:34:43; Activator, debug: Created service! (main.cpp:70) > > 2013-11-15 18:34:43; Activator, debug: Created service! (main.cpp:70) > > 2013-11-15 18:34:43; App, debug: ctor (main.cpp:36) > > 2013-11-15 18:34:43; App, debug: ctor (main.cpp:36) > > Exception! > > 2013-11-15 18:35:33; App, debug: dtor (main.cpp:39) > > 2013-11-15 18:35:33; App, debug: dtor (main.cpp:39) > > 2013-11-15 18:35:40; main, debug: Restarting service! (main.cpp:106) > > 2013-11-15 18:35:40; main, debug: Restarting service! (main.cpp:106) > > 2013-11-15 18:41:44; Activator, debug: Created service! (main.cpp:70) > > 2013-11-15 18:41:44; Activator, debug: Created service! (main.cpp:70) > > 2013-11-15 18:41:44; Activator, debug: Created service! (main.cpp:70) > > 2013-11-15 18:41:44; App, debug: ctor (main.cpp:36) > > 2013-11-15 18:41:44; App, debug: ctor (main.cpp:36) > > 2013-11-15 18:41:44; App, debug: ctor (main.cpp:36) > > Exception! > > 2013-11-15 18:41:58; App, debug: dtor (main.cpp:39) > > 2013-11-15 18:41:58; App, debug: dtor (main.cpp:39) > > 2013-11-15 18:41:58; App, debug: dtor (main.cpp:39) > > 2013-11-15 18:43:16; main, debug: Restarting service! (main.cpp:106) > > 2013-11-15 18:43:16; main, debug: Restarting service! (main.cpp:106) > > 2013-11-15 18:43:16; main, debug: Restarting service! (main.cpp:106) > > 2013-11-15 18:43:22; Activator, debug: Created service! (main.cpp:70) > > 2013-11-15 18:43:22; Activator, debug: Created service! (main.cpp:70) > > 2013-11-15 18:43:22; Activator, debug: Created service! (main.cpp:70) > > 2013-11-15 18:43:22; Activator, debug: Created service! (main.cpp:70) > > 2013-11-15 18:43:22; App, debug: ctor (main.cpp:36) > > 2013-11-15 18:43:22; App, debug: ctor (main.cpp:36) > > 2013-11-15 18:43:22; App, debug: ctor (main.cpp:36) > > 2013-11-15 18:43:22; App, debug: ctor (main.cpp:36) > > Maybe someone sees the error in my code, I clearly dont :) > > Sincerely > Dieter > > > ---------- Forwarded message ---------- > From: Artyom Beilis <art...@ya...> > Date: Sat, Nov 9, 2013 at 12:54 PM > Subject: Re: [Cppcms-users] Unmount asynchronous application from > application pool > To: cpp...@li... > > > There two things. > > - The tutorial describes the situation were the ENTIRE cppcms service is > reloaded. In case of pointers to asynchronous applications, you can reset > them withing if(got_sighup) { ... } section. > > Additionally you can remove the asynchronous application by simply > expiring its pointer. Once all the references (for example kept in > callbacks) and your reference are expired it would be deleted. Asynchronous > applications can be removed and added dynamically (unlike synchronous ones > that only can be added) > > > Artyom Beilis > -------------- > CppCMS - C++ Web Framework: http://cppcms.com/ > CppDB - C++ SQL Connectivity: http://cppcms.com/sql/cppdb/ > > -------------------------------------------- > On Fri, 11/8/13, DieterM75 . <die...@gm...> wrote: > > Subject: [Cppcms-users] Unmount asynchronous application from application > pool > To: cpp...@li... > Date: Friday, November 8, 2013, 9:58 AM > > Hello, > > I mount my application via the mount(booster::intrusive_ptr) > method of the application pool class. > I also try to implement some kind of reload mechanism, > so that the service can start over again after certain > errors. > > The example "reload the application" ( > http://cppcms.com/wikipp/en/page/cppcms_1x_reload_application) > does not cover how to deal with asynchronous applications. > If I pass an anonymous intrusive_ptr reference to the > method, it gets created and destroyed immediately. Now if > the signal gets handled and the service shutdown, the > mounted application gets constructed and destroyed twice. > Basically every time the signal is processed, the > application pool does not automatically destroy the long > running apps. > > Is there a way to avoid this problem? > > Sincerely > Müller > > > -----Inline Attachment Follows----- > > > ------------------------------------------------------------------------------ > November Webinars for C, C++, Fortran Developers > Accelerate application performance with scalable programming > models. Explore > techniques for threading, error checking, porting, and > tuning. Get the most > from the latest Intel processors and coprocessors. See > abstracts and register > > http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk > -----Inline Attachment Follows----- > > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > > ------------------------------------------------------------------------------ > November Webinars for C, C++, Fortran Developers > Accelerate application performance with scalable programming models. > Explore > techniques for threading, error checking, porting, and tuning. Get the most > from the latest Intel processors and coprocessors. See abstracts and > register > http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > > > > ------------------------------------------------------------------------------ > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access > Free app hosting. Or install the open source package on any LAMP server. > Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk > _______________________________________________ > Cppcms-users mailing list > Cpp...@li... > https://lists.sourceforge.net/lists/listinfo/cppcms-users > > |