misc: don't run jobs if connector is down (#36193)
This commit is contained in:
parent
e3e729a289
commit
f9dd7454d8
|
@ -486,6 +486,9 @@ class BaseResource(models.Model):
|
|||
|
||||
def jobs(self):
|
||||
# "jobs" cron job to run asynchronous tasks
|
||||
if self.down():
|
||||
# don't try running jobs if connector is known to be down.
|
||||
return
|
||||
resource_type = ContentType.objects.get_for_model(self)
|
||||
skip_locked = {'skip_locked': True}
|
||||
if not connection.features.has_select_for_update_skip_locked:
|
||||
|
|
|
@ -38,3 +38,14 @@ def test_jobs(mocked_get, app, base_adresse):
|
|||
mocked_get.side_effect = SkipJob()
|
||||
base_adresse.jobs()
|
||||
assert Job.objects.get(id=job.id).status == 'registered'
|
||||
|
||||
# don't run jobs if connector is down
|
||||
StreetModel.objects.all().delete()
|
||||
with mock.patch('passerelle.apps.base_adresse.models.BaseAdresse.down') as down:
|
||||
down.side_effect = lambda: True
|
||||
mocked_get.return_value = utils.FakedResponse(content=open(filepath).read(), status_code=200)
|
||||
job = base_adresse.add_job('update_streets_data')
|
||||
assert job.status == 'registered'
|
||||
|
||||
base_adresse.jobs()
|
||||
assert Job.objects.get(id=job.id).status == 'registered'
|
||||
|
|
Loading…
Reference in New Issue