code: def test_failed_jobs_dont_stop_always_run_jobs(batch):
      with tempfile.NamedTemporaryFile("w") as output_file:
          b = batch
  
          head = b.new_job()
          head.command(f"printf 1 > {head.ofile}")
          head.command("false")
  
          tail = b.new_job()
          tail.command(f"cat {head.ofile} > {tail.ofile}")
          tail.always_run()
  
          b.write_output(tail.ofile, output_file.name)
          with pytest.raises(Exception):
              b.run()
          assert open(output_file.name).read() == "1"
  
imports: from typing import AsyncIterator
  import os
  import pytest
  import subprocess
  import tempfile
  from hailtop import pip_version
  from hailtop.batch import Batch, LocalBackend, ResourceGroup
  from hailtop.batch.resource import JobResourceFile
  from hailtop.batch.utils import concatenate
label_desc: Use image node_id 32 for calling a global function with example usage: test_failed_jobs_dont_stop_always_run_jobs(batch) without return types