atst/script/dev_queue
dandds 3a23c54723 Add a beat processing schedule for environment provisioning jobs.
The beat schedule is set to once per minute for each of the three
environment provisioning tasks.

Adding a beat schedule surfaced two problems that are addressed here
with the following changes:
- Commit the SQLALchemy session in order to release the environment
  lock. Otherwise the change to the `claimed_until` field is not
  persisted.
- Set `none_as_null` on the JSOB fields on the `Environment`. This
  avoids problems with querying on Postgres JSON fields that are empty.

This also adds a small change to the development command for the Celery
worker. Multiple child processes were executing the beat jobs, which
lead to exceptions for environment locks and confusing log output. This
contrains the dev command to a single Celery worker.
2019-09-18 16:34:56 -04:00

14 lines
243 B
Bash
Executable File

#!/bin/bash
# script/dev_queue: Run the queue with entr if available
set -e
WORKER="pipenv run celery -A celery_worker.celery worker --loglevel=info -B -c 1"
if [[ `command -v entr` ]]; then
find atst | entr -r $WORKER
else
$WORKER
fi