Hi,
So here is a little anecdote from the real world. I was planning to update the OS on my Linux server, from Ubuntu 18.04 LTS to 20.04 LTS (Long Term Support). This small (Digital Ocean, 1GB RAM, 1 Core) cloud server runs 3 Pharo images with public facing web sites. The machine itself reports: $ uptime 12:37:50 up 530 days, 21:46, 1 user, load average: 0.02, 0.04, 0.01 which means it hasn't been powered down or didn't restart in 530 days. I was surprised to discover that 2 of the Pharo images on that machine did just as well: $ ./repl.sh Connecting to Telnet REPL at locahost:41011 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Neo Console Pharo-7.0+alpha.build.660.sha.2eb9bd2f41e7b0bd8f9f4190906910f83c178ab1 (32 Bit) pharo> get system.uptime 405 days 20 hours 29 minutes pharo> quit Bye! $ ./repl.sh Connecting to Telnet REPL at locahost:41001 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Neo Console Pharo4.0 of 18 March 2013 update 40620 > get system.uptime 530 days 21 hours 44 minutes > quit Bye! So both Pharo 7 and Pharo 4 kept on doing their jobs for a very long time. I think this is a testament to the stability of Pharo and to what is possible. Regards, Sven -- Sven Van Caekenberghe Proudly supporting Pharo http://pharo.org http://association.pharo.org http://consortium.pharo.org |
Clearly amazing 😉 Is it the setup you use ? Cheers, Cedrick PS: btw Sven, we (with a group of students did a naive and simple url shortener that would fit nicely to default zinc demos ;-) Here is the script for accessing registered urls (sweet): server := (ZnServer startDefaultOn: 9999) onRequestRespond: [ :request | | key | key := request requestLine uri segments last. dataBase at: key ifPresent: [:val | ZnResponse redirect: val ] ifAbsent: [ZnResponse badRequest: request]. ]. Le 12 mai 2020 à 10:06, Sven Van Caekenberghe <[hidden email]> a écrit :
|
Hi Cédrick,
> On 12 May 2020, at 11:27, Cédrick Béler <[hidden email]> wrote: > > Clearly amazing 😉 > > Is it the setup you use ? > > https://ci.inria.fr/pharo-contribution/job/EnterprisePharoBook/lastSuccessfulBuild/artifact/book-result/DeploymentWeb/DeployForProduction.html Yes, more or less. Apart from the infrastructure around it (like monitoring and automatic (re)starts), the fact is simple that the image started and kept working for 400+ days. > Cheers, > Cedrick > > PS: btw Sven, we (with a group of students did a naive and simple url shortener that would fit nicely to default zinc demos ;-) > > Here is the script for accessing registered urls (sweet): > > server := (ZnServer startDefaultOn: 9999) > onRequestRespond: [ :request | | key | > > key := request requestLine uri segments last. > dataBase at: key > ifPresent: [:val | ZnResponse redirect: val ] > ifAbsent: [ZnResponse badRequest: request]. > ]. Yes, that does look nice: it is very concise. I would like to see the whole code, any pointers ? Sven >> Le 12 mai 2020 à 10:06, Sven Van Caekenberghe <[hidden email]> a écrit : >> >> Hi, >> >> So here is a little anecdote from the real world. I was planning to update the OS on my Linux server, from Ubuntu 18.04 LTS to 20.04 LTS (Long Term Support). This small (Digital Ocean, 1GB RAM, 1 Core) cloud server runs 3 Pharo images with public facing web sites. >> >> The machine itself reports: >> >> $ uptime >> 12:37:50 up 530 days, 21:46, 1 user, load average: 0.02, 0.04, 0.01 >> >> which means it hasn't been powered down or didn't restart in 530 days. >> >> I was surprised to discover that 2 of the Pharo images on that machine did just as well: >> >> $ ./repl.sh >> Connecting to Telnet REPL at locahost:41011 >> Trying 127.0.0.1... >> Connected to localhost. >> Escape character is '^]'. >> Neo Console Pharo-7.0+alpha.build.660.sha.2eb9bd2f41e7b0bd8f9f4190906910f83c178ab1 (32 Bit) >> pharo> get system.uptime >> 405 days 20 hours 29 minutes >> pharo> quit >> Bye! >> >> $ ./repl.sh >> Connecting to Telnet REPL at locahost:41001 >> Trying 127.0.0.1... >> Connected to localhost. >> Escape character is '^]'. >> Neo Console Pharo4.0 of 18 March 2013 update 40620 >>> get system.uptime >> 530 days 21 hours 44 minutes >>> quit >> Bye! >> >> So both Pharo 7 and Pharo 4 kept on doing their jobs for a very long time. I think this is a testament to the stability of Pharo and to what is possible. >> >> Regards, >> >> Sven >> >> -- >> Sven Van Caekenberghe >> Proudly supporting Pharo >> http://pharo.org >> http://association.pharo.org >> http://consortium.pharo.org >> >> |
>> >> PS: btw Sven, we (with a group of students did a naive and simple url shortener that would fit nicely to default zinc demos ;-) >> >> Here is the script for accessing registered urls (sweet): >> >> server := (ZnServer startDefaultOn: 9999) >> onRequestRespond: [ :request | | key | >> >> key := request requestLine uri segments last. >> dataBase at: key >> ifPresent: [:val | ZnResponse redirect: val ] >> ifAbsent: [ZnResponse badRequest: request]. >> ]. > > Yes, that does look nice: it is very concise. Yes, the concise code was what I liked and this is because of your design. I was doing it live with students in something like 10 minutes… so thanks for making me feel like a magician to them ;-) > > I would like to see the whole code, any pointers ? We finish the project in two weeks time, so I’ll send the resulting code. We need to do the shortUrl registration page. Basically, for now, this code snippet only need : dataBase := (Ordered)Dictionary new. I want to keep it concise. One objective is keeping the dictionary (dataBase) size controlled as it’s intended to be a demo app. I’m thinking of limiting this size (dataBase) to n entries (100, 1000 ?). There could be eventually be an option to grow the size (but by validation). Another objective (but they won’t do it if I don’t do it myself) is to keep track of the history of clicked url for statistic purposes (probably one of next semester projet ^^). It’s kind of a very nice and simple example to show students client/server concepts, hashing techniques, QRcode usage (short-url are a must-have for them), etc… and so concise in Pharo… probably a good candidate too for the dev-blog. I’ll keep you informed - maybe by PR as I finally start to get my head around git :) Cheers, Cédrick > > Sven > >>> Le 12 mai 2020 à 10:06, Sven Van Caekenberghe <[hidden email]> a écrit : >>> >>> Hi, >>> >>> So here is a little anecdote from the real world. I was planning to update the OS on my Linux server, from Ubuntu 18.04 LTS to 20.04 LTS (Long Term Support). This small (Digital Ocean, 1GB RAM, 1 Core) cloud server runs 3 Pharo images with public facing web sites. >>> >>> The machine itself reports: >>> >>> $ uptime >>> 12:37:50 up 530 days, 21:46, 1 user, load average: 0.02, 0.04, 0.01 >>> >>> which means it hasn't been powered down or didn't restart in 530 days. >>> >>> I was surprised to discover that 2 of the Pharo images on that machine did just as well: >>> >>> $ ./repl.sh >>> Connecting to Telnet REPL at locahost:41011 >>> Trying 127.0.0.1... >>> Connected to localhost. >>> Escape character is '^]'. >>> Neo Console Pharo-7.0+alpha.build.660.sha.2eb9bd2f41e7b0bd8f9f4190906910f83c178ab1 (32 Bit) >>> pharo> get system.uptime >>> 405 days 20 hours 29 minutes >>> pharo> quit >>> Bye! >>> >>> $ ./repl.sh >>> Connecting to Telnet REPL at locahost:41001 >>> Trying 127.0.0.1... >>> Connected to localhost. >>> Escape character is '^]'. >>> Neo Console Pharo4.0 of 18 March 2013 update 40620 >>>> get system.uptime >>> 530 days 21 hours 44 minutes >>>> quit >>> Bye! >>> >>> So both Pharo 7 and Pharo 4 kept on doing their jobs for a very long time. I think this is a testament to the stability of Pharo and to what is possible. >>> >>> Regards, >>> >>> Sven >>> >>> -- >>> Sven Van Caekenberghe >>> Proudly supporting Pharo >>> http://pharo.org >>> http://association.pharo.org >>> http://consortium.pharo.org >>> >>> > > |
> On 13 May 2020, at 12:04, Cédrick Béler <[hidden email]> wrote: > > >>> >>> PS: btw Sven, we (with a group of students did a naive and simple url shortener that would fit nicely to default zinc demos ;-) >>> >>> Here is the script for accessing registered urls (sweet): >>> >>> server := (ZnServer startDefaultOn: 9999) >>> onRequestRespond: [ :request | | key | >>> >>> key := request requestLine uri segments last. >>> dataBase at: key >>> ifPresent: [:val | ZnResponse redirect: val ] >>> ifAbsent: [ZnResponse badRequest: request]. >>> ]. >> >> Yes, that does look nice: it is very concise. > > Yes, the concise code was what I liked and this is because of your design. > > I was doing it live with students in something like 10 minutes… so thanks for making me feel like a magician to them ;-) > > >> >> I would like to see the whole code, any pointers ? > > > We finish the project in two weeks time, so I’ll send the resulting code. We need to do the shortUrl registration page. > Basically, for now, this code snippet only need : dataBase := (Ordered)Dictionary new. > > I want to keep it concise. One objective is keeping the dictionary (dataBase) size controlled as it’s intended to be a demo app. > > I’m thinking of limiting this size (dataBase) to n entries (100, 1000 ?). There could be eventually be an option to grow the size (but by validation). > > Another objective (but they won’t do it if I don’t do it myself) is to keep track of the history of clicked url for statistic purposes (probably one of next semester projet ^^). > > It’s kind of a very nice and simple example to show students client/server concepts, hashing techniques, QRcode usage (short-url are a must-have for them), etc… and so concise in Pharo… probably a good candidate too for the dev-blog. > > I’ll keep you informed - maybe by PR as I finally start to get my head around git :) No need for that, at the moment, I would just like to see what you did. I would like to see if it would be a good demo candidate. In any case, the focus of the examples should be on HTTP, not the stuff around it. > Cheers, > Cédrick > > >> >> Sven >> >>>> Le 12 mai 2020 à 10:06, Sven Van Caekenberghe <[hidden email]> a écrit : >>>> >>>> Hi, >>>> >>>> So here is a little anecdote from the real world. I was planning to update the OS on my Linux server, from Ubuntu 18.04 LTS to 20.04 LTS (Long Term Support). This small (Digital Ocean, 1GB RAM, 1 Core) cloud server runs 3 Pharo images with public facing web sites. >>>> >>>> The machine itself reports: >>>> >>>> $ uptime >>>> 12:37:50 up 530 days, 21:46, 1 user, load average: 0.02, 0.04, 0.01 >>>> >>>> which means it hasn't been powered down or didn't restart in 530 days. >>>> >>>> I was surprised to discover that 2 of the Pharo images on that machine did just as well: >>>> >>>> $ ./repl.sh >>>> Connecting to Telnet REPL at locahost:41011 >>>> Trying 127.0.0.1... >>>> Connected to localhost. >>>> Escape character is '^]'. >>>> Neo Console Pharo-7.0+alpha.build.660.sha.2eb9bd2f41e7b0bd8f9f4190906910f83c178ab1 (32 Bit) >>>> pharo> get system.uptime >>>> 405 days 20 hours 29 minutes >>>> pharo> quit >>>> Bye! >>>> >>>> $ ./repl.sh >>>> Connecting to Telnet REPL at locahost:41001 >>>> Trying 127.0.0.1... >>>> Connected to localhost. >>>> Escape character is '^]'. >>>> Neo Console Pharo4.0 of 18 March 2013 update 40620 >>>>> get system.uptime >>>> 530 days 21 hours 44 minutes >>>>> quit >>>> Bye! >>>> >>>> So both Pharo 7 and Pharo 4 kept on doing their jobs for a very long time. I think this is a testament to the stability of Pharo and to what is possible. >>>> >>>> Regards, >>>> >>>> Sven >>>> >>>> -- >>>> Sven Van Caekenberghe >>>> Proudly supporting Pharo >>>> http://pharo.org >>>> http://association.pharo.org >>>> http://consortium.pharo.org >>>> >>>> >> >> > > |
Yes sure. Basically, here is the full playground I did with them (so in 10 minutes), doing a manipulation each line (the script was done gradually from halt) : I doing it a server delegate lie the ZnImageExampleDelegate with a new dict each time the server is started. I’ll send it later. Cheers, Cédrick |
Hi,
I couldn't resist: https://github.com/svenvc/zinc/commit/264cbd3160f665f776232c02d013ce533df18f55 This is based on your core idea, but adds an html/page/form to shorten URLs which can also be used programmatically. There are also some functional tests. Sven > On 13 May 2020, at 13:55, Cédrick Béler <[hidden email]> wrote: > > >> I would just like to see what you did. >> >> I would like to see if it would be a good demo candidate. >> >> In any case, the focus of the examples should be on HTTP, not the stuff around it. > > Yes sure. > > Basically, here is the full playground I did with them (so in 10 minutes), doing a manipulation each line (the script was done gradually from halt) : > > > <GraphiqueCollé-13.png> > > I doing it a server delegate lie the ZnImageExampleDelegate with a new dict each time the server is started. > > I’ll send it later. > > Cheers, > Cédrick > > > |
Just perfect !
Thanks Sven > Le 13 mai 2020 à 17:47, Sven Van Caekenberghe <[hidden email]> a écrit : > > Hi, > > I couldn't resist: https://github.com/svenvc/zinc/commit/264cbd3160f665f776232c02d013ce533df18f55 > > This is based on your core idea, but adds an html/page/form to shorten URLs which can also be used programmatically. There are also some functional tests. > > Sven > >>> On 13 May 2020, at 13:55, Cédrick Béler <[hidden email]> wrote: >>> >>> >>> I would just like to see what you did. >>> >>> I would like to see if it would be a good demo candidate. >>> >>> In any case, the focus of the examples should be on HTTP, not the stuff around it. >> >> Yes sure. >> >> Basically, here is the full playground I did with them (so in 10 minutes), doing a manipulation each line (the script was done gradually from halt) : >> >> >> <GraphiqueCollé-13.png> >> >> I doing it a server delegate lie the ZnImageExampleDelegate with a new dict each time the server is started. >> >> I’ll send it later. >> >> Cheers, >> Cédrick >> >> >> > > |
In reply to this post by Sven Van Caekenberghe-2
Hello Sven
This is the kind of thing I like to see. Gives me more confidence in recommending Pharo to management for production use. Just some things that still concern me though: Why are people surprised at discovering that Pharo is capable of such uptimes? Are people experiencing instability with Pharo in production settings? If so, what kind of instability are people experiencing? Thanks, Vince -----Original Message----- From: Pharo-users <[hidden email]> On Behalf Of Sven Van Caekenberghe Sent: Tuesday, 12 May 2020 6:06 PM To: Pharo users <[hidden email]> Subject: [Pharo-users] Uptime EXTERNAL: Do not click links or open attachments if you do not recognize the sender. Hi, So here is a little anecdote from the real world. I was planning to update the OS on my Linux server, from Ubuntu 18.04 LTS to 20.04 LTS (Long Term Support). This small (Digital Ocean, 1GB RAM, 1 Core) cloud server runs 3 Pharo images with public facing web sites. The machine itself reports: $ uptime 12:37:50 up 530 days, 21:46, 1 user, load average: 0.02, 0.04, 0.01 which means it hasn't been powered down or didn't restart in 530 days. I was surprised to discover that 2 of the Pharo images on that machine did just as well: $ ./repl.sh Connecting to Telnet REPL at locahost:41011 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Neo Console Pharo-7.0+alpha.build.660.sha.2eb9bd2f41e7b0bd8f9f4190906910f83c178ab1 (32 Bit) pharo> get system.uptime 405 days 20 hours 29 minutes pharo> quit Bye! $ ./repl.sh Connecting to Telnet REPL at locahost:41001 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. Neo Console Pharo4.0 of 18 March 2013 update 40620 > get system.uptime 530 days 21 hours 44 minutes > quit Bye! So both Pharo 7 and Pharo 4 kept on doing their jobs for a very long time. I think this is a testament to the stability of Pharo and to what is possible. Regards, Sven -- Sven Van Caekenberghe Proudly supporting Pharo https://urldefense.com/v3/__http://pharo.org__;!!I_DbfM1H!U29_nUf8k6rmGjsp2AQSL8IDqW4-0JavFUItRuu0N2MQbNF35jnzLuQJwzgetkVf2_QA6g64JQ$ https://urldefense.com/v3/__http://association.pharo.org__;!!I_DbfM1H!U29_nUf8k6rmGjsp2AQSL8IDqW4-0JavFUItRuu0N2MQbNF35jnzLuQJwzgetkVf2_TO4j9SBA$ https://urldefense.com/v3/__http://consortium.pharo.org__;!!I_DbfM1H!U29_nUf8k6rmGjsp2AQSL8IDqW4-0JavFUItRuu0N2MQbNF35jnzLuQJwzgetkVf2_RhpurXTg$ |
Hi vince
I’m often working in the alpha version and it is stable but from time to time I have some crashes.
In headless mode and interaction you have processes that can lock the system or others and we got some GC memory corruption. This is why we will introduce TaskIt-Core in Pharo 90. S
-------------------------------------------- Stéphane Ducasse 03 59 35 87 52 Assistant: Julie Jonas FAX 03 59 57 78 50 TEL 03 59 35 86 16 S. Ducasse - Inria 40, avenue Halley, Parc Scientifique de la Haute Borne, Bât.A, Park Plaza Villeneuve d'Ascq 59650 France |
Free forum by Nabble | Edit this page |