276 Commits

Author SHA1 Message Date
Dan
dde8873c9e 1. defer the loading of the bpmn_json when loading the workflow model. It can be stupidly larger. (see models/workflow.py)
2. Shave a little more time off the reset by not re-creating the whole WorkflowProcessor

cleaning up all the firsttime/sincetime statements.
2022-02-24 20:56:57 -05:00
Dan
3442655bd1 Performance Improvements:
1. Avoid ever re-generating the list of scripts that can be used in a script task.  Terribly expensive as we call eval constantly, and it never ever changes once the app starts. (see script.py changes, and comments)
2. Cache the DocumentStatus list in the flask session, so we calculate it at most once per API Call.  It's at least .25 seconds per call.  (see study_sevice)
3. We called UserFileService.get_files_for_study (which runs a db query EVERY time) for every possible document type.  Now we run the query once (study service line 321)
4. When returning a workflow, we looped through every single task in that workflow's navigation, and called the expensive spiff_task_to_api_task just to figure out it's proper display name. We run a much faster and more efficient method to calculate the display name naow (see workflow_service on lie 680, and 799)
5. A hellton of @timeit and sincetime() calls, that I want to leave in, to help debug any slowness on production.
2022-02-24 14:25:42 -05:00
Dan
23a43c0472 fix to assure we produce a usable error message 2022-02-23 11:53:24 -05:00
alicia pritchett
095856d3c7 Fixes a bug so that you can reference later fields (and they'll validate 2022-02-22 10:18:09 -05:00
Dan
24f33ec9c9 Merge branch 'chore/variables-in-forms-550' of github.com:sartography/cr-connect-workflow into chore/variables-in-forms-550 2022-02-21 09:57:19 -05:00
alicia pritchett
bb3d3a5907 Merge remote-tracking branch 'origin/chore/variables-in-forms-550' into chore/variables-in-forms-550 2022-02-21 08:56:11 -05:00
Dan
06b9b653b2 don't overwrite the field.label during an eval. It should remain as it is, just assure that it /can/ be evaluated. 2022-02-19 17:43:12 -05:00
Dan
4f32cf753c Merge branch 'chore/variables-in-forms-550' of github.com:sartography/cr-connect-workflow into chore/variables-in-forms-550 2022-02-18 17:20:10 -05:00
Dan
c3e52f960b Minor stuff to help digging into validation of current workflows. 2022-02-18 17:20:04 -05:00
alicia pritchett
3b48435411 Merge branch 'master' into chore/variables-in-forms-550 2022-02-18 13:23:33 -05:00
alicia pritchett
4b92b0ee71 oops 2022-02-18 11:57:13 -05:00
alicia pritchett
a912e8ef49 validate checks/catches default value and label value 2022-02-18 11:41:07 -05:00
alicia pritchett
06dc20657b Fixing various BPMN's for tests 2022-02-17 17:29:44 -05:00
alicia pritchett
a5acd9b07e Merge branch 'dev' into chore/variables-in-forms-550 2022-02-17 15:04:41 -05:00
Dan
c2c6410bbb Assure we update the workflow model, so we don't keep reporting the error over and over again. 2022-02-17 14:12:31 -05:00
Dan
e0a8e7300c Merge remote-tracking branch 'origin/dev' into get-erroring-workflows-574 2022-02-17 12:37:34 -05:00
alicia pritchett
08c1571803 Remove value_expression 2022-02-17 12:16:15 -05:00
Dan Funk
5def436602
Merge branch 'dev' into get-erroring-workflows-574 2022-02-17 12:12:42 -05:00
mike cullerton
31f724b0c3 Seed date fields correctly during validation.
We were seeding them with random strings.
2022-02-17 11:48:08 -05:00
alicia pritchett
8d49e2bfbb Merge branch 'dev' into chore/variables-in-forms-550 2022-02-17 10:32:40 -05:00
Dan
0ad9843569 Dealing with some changes in SpiffWorkflow's latest release. I think this gets all tests passing again, and behaving as expected. 2022-02-16 10:46:46 -05:00
Dan
cc6f80bea9 fixing some paths. 2022-02-15 16:25:52 -05:00
Dan
093741fa90 By default the system will start up the scheduled tasks, which is usually what you want, but in development
it can be kind of irritating for this stuff to be spinning up when you are trying to debug something, so just set
PROCESS_WAITING_TASKS to false in instance/config.py and voila!!
2022-02-15 14:07:09 -05:00
Dan
df3f67601c performance improvements. and last rements of load_example_data() 2022-02-09 23:29:39 -05:00
Dan
f12c4aba52 Refactor the workflow_spec_service so it doesn't cache anything, it always reads what it needs from the file system. 2022-02-09 21:06:55 -05:00
Dan
2cc20d4b9d really need to avoid any kind of caching in the WorkflowSpecService 2022-02-09 14:43:32 -05:00
Dan
de6d7eee84 nearly all study tests work. 2022-02-09 12:03:45 -05:00
alicia pritchett
38d64b1ffd fixes a workflow model related test
yes i call a service from a service whoops
2022-02-09 11:07:09 -05:00
Dan
dc040f190e got one more test to work. 2022-02-08 11:30:13 -05:00
Dan
4b8d193fb9 a few more tests passing 2022-02-07 14:58:25 -05:00
alicia pritchett
66906c3786 fix a couple things 2022-02-07 10:57:34 -05:00
Dan
2383c7d76d WIP - lots of random changes, trying to swtich over 2022-02-04 14:50:31 -05:00
Dan
4ec6e403f5 1. Created a UserFileService, so it's clear what we use when for File Services, UserFiles, SpecFiles, and ReferenceFiles each function differently.
2. Reference Files and Spec Files are written to disk, they do not exist in the database at all.
2022-02-02 12:59:56 -05:00
alicia pritchett
c1a5032014 WIP modifying workflow service to remove value expression 2022-02-01 15:44:55 -05:00
Dan
4c00a5762f partial commit - new spec_file_service, and new spec_file_api endpoints that use spec and file name, not file id.
removed worklow_sync
cleaned up file and workflow models
most of the test are broken.
2022-01-28 06:42:37 -05:00
mike cullerton
ae86ab4790 Make erroring workflows visible
The `process_erroring_workflows` method is called by our scheduler in __init__.py
2022-01-25 12:18:29 -05:00
mike cullerton
b6b9482a64 *** WIP ***
Incremental commit. Mainly cleaning up failing tests.
2022-01-12 13:16:09 -05:00
mike cullerton
dc27f795c8 *** WIP ***
Committing because it is Friday afternoon, and my computer is acting flaky
2022-01-07 15:34:51 -05:00
mike cullerton
86a6039dc8 *** WIP ***
**Many** tests are failing!

Committing so I can merge dev into this branch
2022-01-06 11:46:54 -05:00
Dan
1446302a04 A quick fix for an error we are seeing in testing. 2021-12-30 15:27:31 -05:00
alicia pritchett
a81f25f0ee Just kidding. We should make deepcopy and put in fake data 4 valdiation
see above. previously i deleted this, because i didnt want unitializsed data in task data. well heres a hint. don't put it in task data. make a deep copy and hold on to that for validation pursposes
2021-12-16 14:47:04 -05:00
Dan Funk
e62a99af96
Merge pull request #438 from sartography/bug/fix-task-data
Bug/fix task data
2021-12-13 13:31:37 -05:00
Dan Funk
b5f2fe05dc
Merge pull request #439 from sartography/workflow-spec-delete-217
Problem deleting workflow spec #217
2021-12-13 13:19:56 -05:00
Dan
c46800171d Merge remote-tracking branch 'origin/dev' into bug/fix-task-data 2021-12-13 13:18:00 -05:00
mike cullerton
daebf42a30 Move some of the work in crc.api.workflow.delete_workflow_specification to separate workflow_service methods
Added a session.commit to `delete_workflow_spec_task_events`
2021-12-13 11:04:28 -05:00
mike cullerton
acbb8898e4 Merge branch 'more-study-statuses-562' into waiting-workflow-errors-566 2021-12-10 16:52:07 -05:00
mike cullerton
f748fa3db8 Removed unused imports 2021-12-10 16:48:28 -05:00
alicia pritchett
f9fbb32641 Take this garbage out
I can say that because I originally wrote that garbage
2021-12-10 12:10:08 -05:00
alicia pritchett
962cf7c32c Fixes problem with initializing some task data fields
we had a problem where sometimes, task data gets some values set in its fields to None, which conflicts with default values. this fixes that
2021-12-10 11:33:26 -05:00
mike cullerton
52baf25459 In WorkflowService.do_waiting, if a workflow causes an exception, change its status from waiting to erroring so we don't continue to call it in do_waiting. 2021-12-09 15:33:39 -05:00