docstr: Update dependencies and reference count etc. after task submission.
docstr_tok: ["Update","dependencies","and","reference","count","etc",".","after","task","submission","."]
code: def _post_process_submit_task(
      self, task_id: TaskID, store: "WorkflowStorage"
  ) -> None:
      """Update dependencies and reference count etc. after task submission."""
      state = self._state
      if task_id in state.continuation_root:
          if state.tasks[task_id].options.checkpoint:
              store.update_continuation_output_link(
                  state.continuation_root[task_id], task_id
              )
      else:
          # update reference counting if the task is not a continuation
          for c in state.upstream_dependencies[task_id]:
              state.reference_set[c].remove(task_id)
              if not state.reference_set[c]:
                  del state.reference_set[c]
                  state.free_outputs.add(c)
  
imports: from typing import Dict, List, Iterator, Optional, Tuple, TYPE_CHECKING
  import asyncio
  import logging
  import time
  from collections import defaultdict
  import ray
  from ray.exceptions import RayTaskError, RayError
  from ray.workflow.common import WorkflowRef, WorkflowExecutionMetadata, WorkflowStatus, TaskID
  from ray.workflow.exceptions import WorkflowCancellationError, WorkflowExecutionError
  from ray.workflow.task_executor import get_task_executor, _BakedWorkflowInputs
  from ray.workflow.workflow_state import WorkflowExecutionState, TaskExecutionMetadata, Task
label_desc: Use image node_id 8 for calling the WorkflowExecutor obj's underlying member method code with example usage: obj._post_process_submit_task(task_id, store) without return types