Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
feudal
feudalBackend
Commits
60923cf0
Commit
60923cf0
authored
Feb 21, 2020
by
Lukas Burgey
Committed by
lukas.burgey
Mar 31, 2020
Browse files
Make the broker interface more consistent
parent
9a387256
Changes
2
Hide whitespace changes
Inline
Side-by-side
feudal/backend/models/brokers.py
View file @
60923cf0
...
@@ -18,6 +18,13 @@ def publish_to_user(user, obj):
...
@@ -18,6 +18,13 @@ def publish_to_user(user, obj):
dumps
(
serializers
.
UpdateSerializer
(
obj
).
data
),
dumps
(
serializers
.
UpdateSerializer
(
obj
).
data
),
)
)
def
publish_deployment_state
(
deployment_state
):
from
.serializers.clients
import
DeploymentStateSerializer
RabbitMQInstance
.
load
().
publish_deployment_state
(
deployment_state
,
dumps
(
DeploymentStateSerializer
(
deployment_state
).
data
),
)
# singleton for simple configs
# singleton for simple configs
# https://steelkiwi.com/blog/practical-application-singleton-design-pattern/
# https://steelkiwi.com/blog/practical-application-singleton-design-pattern/
...
@@ -128,12 +135,11 @@ class RabbitMQInstance(SingletonModel):
...
@@ -128,12 +135,11 @@ class RabbitMQInstance(SingletonModel):
self
.
_init_exchanges
(
channel
)
self
.
_init_exchanges
(
channel
)
connection
.
close
()
connection
.
close
()
def
publish_deployment_state
(
self
,
deployment_state
):
def
publish_deployment_state
(
self
,
deployment_state
,
msg
):
from
.serializers.clients
import
DeploymentStateSerializer
self
.
_publish
(
self
.
_publish
(
'services'
,
'services'
,
deployment_state
.
service
.
name
,
deployment_state
.
service
.
name
,
dumps
(
DeploymentStateSerializer
(
deployment_state
).
data
)
,
msg
,
)
)
def
publish_to_user
(
self
,
user
,
msg
):
def
publish_to_user
(
self
,
user
,
msg
):
...
...
feudal/backend/models/deployments.py
View file @
60923cf0
...
@@ -11,7 +11,7 @@ from django_mysql.models import JSONField
...
@@ -11,7 +11,7 @@ from django_mysql.models import JSONField
from
polymorphic.models
import
PolymorphicModel
from
polymorphic.models
import
PolymorphicModel
from
feudal.backend.models
import
Site
,
Service
from
feudal.backend.models
import
Site
,
Service
from
feudal.backend.models.brokers
import
publish_to_user
,
RabbitMQIn
sta
nc
e
from
feudal.backend.models.brokers
import
publish_to_user
,
publish_deployment_
sta
t
e
from
feudal.backend.models.users
import
User
,
SSHPublicKey
from
feudal.backend.models.users
import
User
,
SSHPublicKey
from
feudal.backend.models.auth.vos
import
VO
from
feudal.backend.models.auth.vos
import
VO
...
@@ -618,7 +618,7 @@ class DeploymentState(models.Model):
...
@@ -618,7 +618,7 @@ class DeploymentState(models.Model):
if
settings
.
DEBUG_PUBLISHING
:
if
settings
.
DEBUG_PUBLISHING
:
LOGGER
.
debug
(
self
.
msg
(
'publish_to_client'
))
LOGGER
.
debug
(
self
.
msg
(
'publish_to_client'
))
RabbitMQInstance
.
load
().
publish_deployment_state
(
self
)
publish_deployment_state
(
self
)
def
msg
(
self
,
msg
):
def
msg
(
self
,
msg
):
return
' {} - {}'
.
format
(
self
,
msg
)
return
' {} - {}'
.
format
(
self
,
msg
)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment