Shop OBEX P1 Docs P2 Docs Learn Events
Can Blocklyprop be used offline? — Parallax Forums

Can Blocklyprop be used offline?

Does one need an internet connection to use Blocklyprop?

Comments

  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2020-04-26 21:49
    You can host the files comprising the Blockly Solo server (available here) on your own PC, along with the Blockly client software that can be downloaded from Parallax. That covers everything except the C compiler, which I'm not sure about. Maybe someone else can weigh in?

    -Phil
  • The compiler is implemented as a Docker container on the Solo web site. One could install Docker on the desktop and run the container as localhost:5001. That's how we do it internally in out dev and test systems.

    I can push up the latest to out Docker Hub account if there is any interest.
  • Jim Ewald wrote: »
    The compiler is implemented as a Docker container on the Solo web site. One could install Docker on the desktop and run the container as localhost:5001. That's how we do it internally in out dev and test systems.

    I can push up the latest to out Docker Hub account if there is any interest.

    Please do Jim. I have Docker available locally here on this laptop.
  • I posted the latest release of the compiler Docker image up on Docker Hub. Docs are really sparse and I will be happy to flesh them out as we go along.

    https://hub.docker.com/repository/docker/parallaxhub/solocompiler
  • It looks good so far Jim. No hurry here.
  • Hello!
    But then this happens:
    PS C:\Users\hanso\OneDrive\Desktop> cd ..
    PS C:\Users\hanso\OneDrive> cd ..
    PS C:\Users\hanso> docker pull parallaxhub/solocompiler
    Using default tag: latest
    Error response from daemon: manifest for parallaxhub/solocompiler:latest not found: manifest unknown: manifest unknown
    PS C:\Users\hanso>
    
    It seems Moby back there is still working on it. I'll try again later.
  • Looks like I did not tag the image as latest. I'll take care of the this morning. In the meantime, you can pull the versioned image.
    docker pull parallaxhub/solocompiler:1.3.11
    
  • And that worked. The big problem was running it. First I tried the instructions on the same page as the two containers. Complaint was received from the docker command line tools. Then I entered instead
    docker run parallaxhub/solocompiler:1.3.11
    
    .

    From that I got the screen I expected, which was the whole business starting up. Which is contributed below:
    PS C:\Users\hanso\OneDrive\Desktop> docker run parallaxhub/solocompiler:1.3.11
    2020-05-11 15:06:31,797 INFO Included extra file "/etc/supervisor/conf.d/cloudcompiler.conf" during parsing
    2020-05-11 15:06:31,797 INFO Set uid to user 1000 succeeded
    2020-05-11 15:06:31,799 INFO supervisord started with pid 1
    2020-05-11 15:06:32,804 INFO spawned: 'cloud-compiler' with pid 8
    *** Starting uWSGI 2.0.18 (64bit) on [Mon May 11 15:06:32 2020] ***
    compiled with version: 7.5.0 on 08 May 2020 17:39:22
    os: Linux-4.19.76-linuxkit #1 SMP Thu Oct 17 19:31:58 UTC 2019
    nodename: 19def7ae4b74
    machine: x86_64
    clock source: unix
    detected number of CPU cores: 2
    current working directory: /home/ubuntu/cc-server
    writing pidfile to /tmp/cloudcompiler.pid
    detected binary path: /usr/local/bin/uwsgi
    !!! no internal routing support, rebuild with pcre support !!!
    your memory page size is 4096 bytes
    detected max file descriptor number: 1048576
    lock engine: pthread robust mutexes
    thunder lock: disabled (you can enable it with --thunder-lock)
    uWSGI http bound on :5001 fd 4
    uwsgi socket 0 bound to TCP address 127.0.0.1:45741 (port auto-assigned) fd 3
    Python version: 3.6.9 (default, Apr 18 2020, 01:56:04)  [GCC 8.4.0]
    Python main interpreter initialized at 0x5627e4374600
    python threads support enabled
    your server socket listen backlog is limited to 100 connections
    your mercy for graceful operations on workers is 60 seconds
    mapped 416720 bytes (406 KB) for 8 cores
    *** Operational MODE: preforking+threaded ***
    WSGI app 0 (mountpoint='') ready in 1 seconds on interpreter 0x5627e4374600 pid: 8 (default app)
    *** uWSGI is running in multiple interpreter mode ***
    spawned uWSGI master process (pid: 8)
    spawned uWSGI worker 1 (pid: 10, cores: 2)
    spawned uWSGI worker 2 (pid: 11, cores: 2)
    spawned uWSGI worker 3 (pid: 13, cores: 2)
    spawned uWSGI worker 4 (pid: 15, cores: 2)
    spawned uWSGI http 1 (pid: 17)
    2020-05-11 15:06:34,077 INFO success: cloud-compiler entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
    

    That is what is expected? We can discuss that later.
  • That is exactly what it should do. There is a Rest API sitting on top of the compiler. You can verify that the service is running by opening a browser and pointing it to:
    http://localhost:5001/version
    

    The service should report back something similar to:
    {"success": true, "simpleLibraryVersion": "v1.4.152", "applicationVersion": "1.3.11"}
    

    When Solo detects that is is running from localhost, it will attempt to contact the compiler service at localhost:5001 when you compile a project.
Sign In or Register to comment.