Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
beat.web
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
beat
beat.web
Commits
033266f5
Commit
033266f5
authored
9 years ago
by
André Anjos
Browse files
Options
Downloads
Patches
Plain Diff
[backend] Catch-up with changes on backend models
parent
8769277a
Branches
Branches containing commit
Tags
Tags containing commit
1 merge request
!194
Scheduler
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
beat/web/backend/api.py
+11
-9
11 additions, 9 deletions
beat/web/backend/api.py
beat/web/backend/models.py
+14
-0
14 additions, 0 deletions
beat/web/backend/models.py
with
25 additions
and
9 deletions
beat/web/backend/api.py
+
11
−
9
View file @
033266f5
...
@@ -124,11 +124,11 @@ def scheduler(request):
...
@@ -124,11 +124,11 @@ def scheduler(request):
data
[
'
workers
'
][
name
][
'
db_status
'
]
=
'
Inactive
'
data
[
'
workers
'
][
name
][
'
db_status
'
]
=
'
Inactive
'
data
[
'
workers
'
][
name
][
'
info
'
]
=
'
Worker temporarily deactivated
'
data
[
'
workers
'
][
name
][
'
info
'
]
=
'
Worker temporarily deactivated
'
elif
data
[
'
workers
'
][
name
][
'
cores
'
]
!=
worker
.
nb_
cores
:
elif
data
[
'
workers
'
][
name
][
'
cores
'
]
!=
worker
.
cores
:
data
[
'
workers
'
][
name
][
'
db_status
'
]
=
'
Mismatch
'
data
[
'
workers
'
][
name
][
'
db_status
'
]
=
'
Mismatch
'
data
[
'
workers
'
][
name
][
'
info
'
]
=
\
data
[
'
workers
'
][
name
][
'
info
'
]
=
\
'
Number of cores differs (db: %d, scheduler: %d)
'
%
\
'
Number of cores differs (db: %d, scheduler: %d)
'
%
\
(
data
[
'
workers
'
][
name
][
'
cores
'
],
worker
.
nb_
cores
)
(
data
[
'
workers
'
][
name
][
'
cores
'
],
worker
.
cores
)
else
:
else
:
data
[
'
workers
'
][
name
][
'
db_status
'
]
=
'
Active
'
data
[
'
workers
'
][
name
][
'
db_status
'
]
=
'
Active
'
data
[
'
workers
'
][
name
][
'
info
'
]
=
'
Worker is declared and active
'
data
[
'
workers
'
][
name
][
'
info
'
]
=
'
Worker is declared and active
'
...
@@ -169,7 +169,7 @@ def scheduler(request):
...
@@ -169,7 +169,7 @@ def scheduler(request):
slots
=
{}
slots
=
{}
for
slot
in
db_queue
.
slots
.
iterator
():
for
slot
in
db_queue
.
slots
.
iterator
():
if
slot
.
worker
.
active
:
if
slot
.
worker
.
active
:
slots
[
slot
.
worker
.
name
]
=
slot
.
nb_slots
slots
[
slot
.
worker
.
name
]
=
slot
.
quantity
environments
=
[]
environments
=
[]
for
environment
in
db_queue
.
environments
.
filter
(
active
=
True
):
for
environment
in
db_queue
.
environments
.
filter
(
active
=
True
):
...
@@ -181,7 +181,7 @@ def scheduler(request):
...
@@ -181,7 +181,7 @@ def scheduler(request):
compare
=
{
compare
=
{
'
memory-in-megabytes
'
:
db_queue
.
memory_limit
,
'
memory-in-megabytes
'
:
db_queue
.
memory_limit
,
'
time-limit-in-minutes
'
:
db_queue
.
time_limit
,
'
time-limit-in-minutes
'
:
db_queue
.
time_limit
,
'
nb-cores-per-slot
'
:
db_queue
.
nb_
cores_per_slot
,
'
nb-cores-per-slot
'
:
db_queue
.
cores_per_slot
,
'
max-slots-per-user
'
:
db_queue
.
max_slots_per_user
,
'
max-slots-per-user
'
:
db_queue
.
max_slots_per_user
,
'
slots
'
:
slots
,
'
slots
'
:
slots
,
'
environments
'
:
environments
,
'
environments
'
:
environments
,
...
@@ -218,7 +218,7 @@ def scheduler(request):
...
@@ -218,7 +218,7 @@ def scheduler(request):
slots
=
{}
slots
=
{}
for
slot
in
db_queue
.
slots
.
iterator
():
for
slot
in
db_queue
.
slots
.
iterator
():
if
slot
.
worker
.
active
:
if
slot
.
worker
.
active
:
slots
[
slot
.
worker
.
name
]
=
slot
.
nb_slots
slots
[
slot
.
worker
.
name
]
=
slot
.
quantity
environments
=
[]
environments
=
[]
for
environment
in
db_queue
.
environments
.
filter
(
active
=
True
):
for
environment
in
db_queue
.
environments
.
filter
(
active
=
True
):
...
@@ -234,7 +234,7 @@ def scheduler(request):
...
@@ -234,7 +234,7 @@ def scheduler(request):
'
status
'
:
'
Active
'
,
'
status
'
:
'
Active
'
,
'
memory-in-megabytes
'
:
db_queue
.
memory_limit
,
'
memory-in-megabytes
'
:
db_queue
.
memory_limit
,
'
time-limit-in-minutes
'
:
db_queue
.
time_limit
,
'
time-limit-in-minutes
'
:
db_queue
.
time_limit
,
'
nb-cores-per-slot
'
:
db_queue
.
nb_
cores_per_slot
,
'
nb-cores-per-slot
'
:
db_queue
.
cores_per_slot
,
'
max-slots-per-user
'
:
db_queue
.
max_slots_per_user
,
'
max-slots-per-user
'
:
db_queue
.
max_slots_per_user
,
'
slots
'
:
slots
,
'
slots
'
:
slots
,
'
total-slots
'
:
db_queue
.
total_slots
(),
'
total-slots
'
:
db_queue
.
total_slots
(),
...
@@ -585,10 +585,12 @@ def block_finished(request):
...
@@ -585,10 +585,12 @@ def block_finished(request):
algorithm
=
beat
.
core
.
algorithm
.
Algorithm
(
settings
.
PREFIX
,
algorithm
=
beat
.
core
.
algorithm
.
Algorithm
(
settings
.
PREFIX
,
block
.
algorithm
.
fullname
())
block
.
algorithm
.
fullname
())
for
field
,
value
in
output_data
.
as_dict
().
items
():
for
field
,
value
in
output_data
.
as_dict
().
items
():
result_entry
=
Result
()
cached_file
=
block
.
first_cache
()
result_entry
.
cache
=
block
.
first_cache
()
result_entry
,
created
=
Result
.
objects
.
get_or_create
(
name
=
field
,
cache
=
cached_file
,
)
result_entry
.
primary
=
algorithm
.
results
[
field
][
'
display
'
]
result_entry
.
primary
=
algorithm
.
results
[
field
][
'
display
'
]
result_entry
.
name
=
field
result_entry
.
type
=
algorithm
.
results
[
field
][
"
type
"
]
result_entry
.
type
=
algorithm
.
results
[
field
][
"
type
"
]
if
result_entry
.
type
in
[
'
int32
'
,
'
float32
'
,
'
bool
'
,
'
string
'
]:
if
result_entry
.
type
in
[
'
int32
'
,
'
float32
'
,
'
bool
'
,
'
string
'
]:
...
...
This diff is collapsed.
Click to expand it.
beat/web/backend/models.py
+
14
−
0
View file @
033266f5
...
@@ -303,6 +303,20 @@ class Queue(models.Model):
...
@@ -303,6 +303,20 @@ class Queue(models.Model):
return
[
w
[
0
]
for
w
in
workers
]
return
[
w
[
0
]
for
w
in
workers
]
def
as_json
(
self
):
return
{
'
memory-in-megabytes
'
:
self
.
memory_limit
,
'
time-limit-in-minutes
'
:
self
.
time_limit
,
'
nb-cores-per-slot
'
:
self
.
cores_per_slot
,
'
max-slots-per-user
'
:
self
.
max_slots_per_user
,
'
environments
'
:
map
(
lambda
x
:
{
'
name
'
:
x
.
name
,
'
version
'
:
x
.
version
,
},
self
.
environments
.
filter
(
active
=
True
)),
'
slots
'
:
dict
([(
x
.
worker
.
name
,
x
.
quantity
)
for
x
in
self
.
slots
.
iterator
()
if
x
.
worker
.
active
]),
}
class
SlotManager
(
models
.
Manager
):
class
SlotManager
(
models
.
Manager
):
def
get_by_natural_key
(
self
,
queue_name
,
worker_name
):
def
get_by_natural_key
(
self
,
queue_name
,
worker_name
):
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment