Skip to content

Commit

Permalink
Add priority and retries to run_in_background
Browse files Browse the repository at this point in the history
  • Loading branch information
davegaeddert committed Jan 22, 2024
1 parent 385d658 commit 016acd9
Showing 1 changed file with 15 additions and 4 deletions.
19 changes: 15 additions & 4 deletions bolt-jobs/bolt/jobs/jobs.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,12 @@ class Job(metaclass=JobType):
def run(self):
raise NotImplementedError

def run_in_background(self, start_at: datetime.datetime | None = None):
def run_in_background(
self,
start_at: datetime.datetime | None = None,
priority: int | None = None,
retries: int | None = None,
):
from .models import JobRequest

if unique_existing := self._get_existing_unique_job_or_request():
Expand All @@ -112,13 +117,19 @@ def run_in_background(self, start_at: datetime.datetime | None = None):

parameters = JobParameters.to_json(self._init_args, self._init_kwargs)

if priority is None:
priority = self.get_priority()

if retries is None:
retries = self.get_retries()

return JobRequest.objects.create(
job_class=self._job_class_str(),
parameters=parameters,
priority=self.get_priority(),
source=source,
retries=self.get_retries(),
start_at=start_at,
source=source,
priority=priority,
retries=retries,
)

def _job_class_str(self):
Expand Down

0 comments on commit 016acd9

Please sign in to comment.