PiCloud‘s web interface allows you to easily manage and analyze jobs that run. The entire interface can be accessed via the My Account tab. The web interface should be quite intuitive, but if you wish to learn all about its features, read on.
You can find your api_key and api_secretkey under API Keys. This information is needed to connect to PiCloud. You can also create additional API keys through this menu. Note that API keys can also be programmatically provisioned via cloud.account.
In the Jobs menu, you can view the status of jobs and even kill or delete them. You can also filter jobs by date, API Key, status, and label.
Each job shows important information, including the hostname of the computer it was launched from, the function that was called via the cloud module, the label set in the cloud call, and the job’s status. If the job was created by another job running on PiCloud, the id of the creating job is displayed as the “parent”. Clicking on the job will show more details such as what was written to standard output and error, runtime, dependencies, any exception raised, and, if enabled, a profile.
Manage crontabs you have registered. You can also manually run the registered function and see all jobs that the crontab has spawned.
To assist you in optimizing your code, PiCloud provides various performance analytics, including:
- Number of jobs running over time
- CPU utilization over time
- Number of errors over time
See your bill, including how much bandwidth and compute units you have utilized.
Warning
This is a more advanced topic you likely will not need to worry about.
While the cloud module works well as a drop-in solution for pure python code, it cannot transport custom python extensions written in C/C++. If you use custom Python extensions that PiCloud does not have installed, you’ll need to manually transmit them to PiCloud.
This is done in the packages panel, where you can transmit source files relevant to your extension. As PiCloud will run python setup.py install in the root of the extension directory, you must have a setup.py script capable of building your project in a linux x86_64 environment. After installation, any job, running under any of your API keys, will be able to import your extension.
Warning
If the package you are uploading makes use of non-standard libraries not installed already on PiCloud, your build may fail. If this occurs, please contact us, and we will work with you on finding a solution.
There are two ways to transmit your extensions onto PiCloud. Again, the build script must be in the root directory of whatever you send:
After an upload, you can view a report, which shows the output of the compiler and installer.