Comments (6)
When you say "into the environment", do you mean "into the temporary working directory for the run"? If so, then the short answer is probably no, since the only files that get loaded into that directory need to be loaded from the filecache, by their unique ID. However, you could have Jobe run a Python script/program instead of a Java program; the script could set up the environment, copying files from anywhere you choose to put them in Jobe, then compile and run the Java code using the subprocess module. That gives you complete flexibility for other tasks like pre-run checks on the Java code, setting up a directory tree for packages, etc.
But do your jar files need to be in the current working directory? Could you not put them in a fixed part of the file system, say /usr/local/share, and refer to them with a full path name?
from jobe.
When I asked the question I think I meant "into the temporary working directory" but my understanding was more fuzzy than it is now—I got jobe running in Docker and ran a few test jobs last night. And indeed they don't need to be in the current working directory—my whole idea was to have a set of classes that a lot of jobs would need access to so the nicest thing would be to have one copy on the jobe server that jobs could add to their classpath as needed.
I guess I had assumed that the individual jobs were running in a chroot jail or something and therefore wouldn't be able to access arbitrary files. But maybe that's not the case?
from jobe.
Jobe tasks run as normal unprivileged users on a Linux system except there's no home directory and there are tight limits on resource usage, such as cpuseconds, number of processes, disk output, memory use, .... The working directory in which they run is inaccessible to all other users - there's one user per task.
from jobe.
Ah got it. Now that you say it I feel like I read that sentence somewhere in the docs but it didn't quite sink in. And I assume the users who run the jobs don't have privileges to write outside their working directory so they can't scribble over anything important?
from jobe.
Correct. They have minimal access to anything else except /tmp, which is purged after the run. Unless a sysadmin chooses to create world-writeable directories.
from jobe.
Thanks for you help. Closing this to keep you project tidy. Cheers!
from jobe.
Related Issues (20)
- Privilege escalation using sourcefilename HOT 1
- Matlab is crashing (segmentation violation detected) HOT 3
- Security problem with Jobe HOT 1
- How to get the code execution time and the memory consumed by the code
- PHP8 compatibility HOT 1
- testsubmit "Memory limit exceeded in C (seg faults)" HOT 1
- Issue with runguard HOT 3
- Issues with JobeInaBox HOT 2
- How to add SQL support? HOT 2
- Making loaded files writable HOT 1
- Runguard error HOT 24
- num_jobe_users=multiprocessing.cpu_count() clobber HOT 3
- * Time limit exceeded * when running python3 scripts with numpy HOT 3
- Jobe Server Runs aren't working HOT 2
- Добавить поддержку API-ключа для подключения к JOBE
- Testing instructions on README.md wrongly mention --port=4000 HOT 1
- matplotlib error due to missing environment variables HOT 1
- Error simpletest.py
- README doesn't reflect latest versions? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jobe.