

<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
  <meta charset="utf-8">
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
  <title>apache_beam.runners.interactive.background_caching_job module &mdash; Apache Beam  documentation</title>
  

  
  
  
  

  
  <script type="text/javascript" src="_static/js/modernizr.min.js"></script>
  
    
      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
        <script type="text/javascript" src="_static/jquery.js"></script>
        <script type="text/javascript" src="_static/underscore.js"></script>
        <script type="text/javascript" src="_static/doctools.js"></script>
        <script type="text/javascript" src="_static/language_data.js"></script>
        <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
    
    <script type="text/javascript" src="_static/js/theme.js"></script>

    

  
  <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="apache_beam.runners.interactive.cache_manager module" href="apache_beam.runners.interactive.cache_manager.html" />
    <link rel="prev" title="apache_beam.runners.interactive.augmented_pipeline module" href="apache_beam.runners.interactive.augmented_pipeline.html" /> 
</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          

          
            <a href="index.html" class="icon icon-home"> Apache Beam
          

          
          </a>

          
            
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="apache_beam.coders.html">apache_beam.coders package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.dataframe.html">apache_beam.dataframe package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.io.html">apache_beam.io package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.metrics.html">apache_beam.metrics package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.ml.html">apache_beam.ml package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.options.html">apache_beam.options package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.portability.html">apache_beam.portability package</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="apache_beam.runners.html">apache_beam.runners package</a><ul class="current">
<li class="toctree-l2 current"><a class="reference internal" href="apache_beam.runners.html#subpackages">Subpackages</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="apache_beam.runners.dataflow.html">apache_beam.runners.dataflow package</a></li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.runners.direct.html">apache_beam.runners.direct package</a></li>
<li class="toctree-l3 current"><a class="reference internal" href="apache_beam.runners.interactive.html">apache_beam.runners.interactive package</a><ul class="current">
<li class="toctree-l4"><a class="reference internal" href="apache_beam.runners.interactive.html#subpackages">Subpackages</a></li>
<li class="toctree-l4 current"><a class="reference internal" href="apache_beam.runners.interactive.html#submodules">Submodules</a></li>
</ul>
</li>
<li class="toctree-l3"><a class="reference internal" href="apache_beam.runners.job.html">apache_beam.runners.job package</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="apache_beam.runners.html#submodules">Submodules</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.transforms.html">apache_beam.transforms package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.typehints.html">apache_beam.typehints package</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.utils.html">apache_beam.utils package</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.error.html">apache_beam.error module</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.pipeline.html">apache_beam.pipeline module</a></li>
<li class="toctree-l1"><a class="reference internal" href="apache_beam.pvalue.html">apache_beam.pvalue module</a></li>
</ul>

            
          
        </div>
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="index.html">Apache Beam</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="index.html">Docs</a> &raquo;</li>
        
          <li><a href="apache_beam.runners.html">apache_beam.runners package</a> &raquo;</li>
        
          <li><a href="apache_beam.runners.interactive.html">apache_beam.runners.interactive package</a> &raquo;</li>
        
      <li>apache_beam.runners.interactive.background_caching_job module</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
            
            <a href="_sources/apache_beam.runners.interactive.background_caching_job.rst.txt" rel="nofollow"> View page source</a>
          
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <div class="section" id="module-apache_beam.runners.interactive.background_caching_job">
<span id="apache-beam-runners-interactive-background-caching-job-module"></span><h1>apache_beam.runners.interactive.background_caching_job module<a class="headerlink" href="#module-apache_beam.runners.interactive.background_caching_job" title="Permalink to this headline">¶</a></h1>
<p>Module to build and run background source recording jobs.</p>
<p>For internal use only; no backwards-compatibility guarantees.</p>
<p>A background source recording job is a job that records events for all
recordable sources of a given pipeline. With Interactive Beam, one such job is
started when a pipeline run happens (which produces a main job in contrast to
the background source recording job) and meets the following conditions:</p>
<blockquote>
<div><ol class="arabic simple">
<li>The pipeline contains recordable sources, configured through
interactive_beam.options.recordable_sources.</li>
<li>No such background job is running.</li>
<li>No such background job has completed successfully and the cached events are
still valid (invalidated when recordable sources change in the pipeline).</li>
</ol>
</div></blockquote>
<p>Once started, the background source recording job runs asynchronously until it
hits some recording limit configured in interactive_beam.options. Meanwhile,
the main job and future main jobs from the pipeline will run using the
deterministic replayable recorded events until they are invalidated.</p>
<dl class="class">
<dt id="apache_beam.runners.interactive.background_caching_job.BackgroundCachingJob">
<em class="property">class </em><code class="descclassname">apache_beam.runners.interactive.background_caching_job.</code><code class="descname">BackgroundCachingJob</code><span class="sig-paren">(</span><em>pipeline_result</em>, <em>limiters</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#BackgroundCachingJob"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.BackgroundCachingJob" title="Permalink to this definition">¶</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.10)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>A simple abstraction that controls necessary components of a timed and
space limited background source recording job.</p>
<p>A background source recording job successfully completes source data
recording in 2 conditions:</p>
<blockquote>
<div><ol class="arabic simple">
<li>The job is finite and runs into DONE state;</li>
<li>The job is infinite but hits an interactive_beam.options configured limit
and gets cancelled into CANCELLED/CANCELLING state.</li>
</ol>
</div></blockquote>
<p>In both situations, the background source recording job should be treated as
done successfully.</p>
<dl class="method">
<dt id="apache_beam.runners.interactive.background_caching_job.BackgroundCachingJob.is_done">
<code class="descname">is_done</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#BackgroundCachingJob.is_done"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.BackgroundCachingJob.is_done" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.runners.interactive.background_caching_job.BackgroundCachingJob.is_running">
<code class="descname">is_running</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#BackgroundCachingJob.is_running"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.BackgroundCachingJob.is_running" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

<dl class="method">
<dt id="apache_beam.runners.interactive.background_caching_job.BackgroundCachingJob.cancel">
<code class="descname">cancel</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#BackgroundCachingJob.cancel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.BackgroundCachingJob.cancel" title="Permalink to this definition">¶</a></dt>
<dd><p>Cancels this background source recording job.</p>
</dd></dl>

<dl class="attribute">
<dt id="apache_beam.runners.interactive.background_caching_job.BackgroundCachingJob.state">
<code class="descname">state</code><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.BackgroundCachingJob.state" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>

</dd></dl>

<dl class="function">
<dt id="apache_beam.runners.interactive.background_caching_job.attempt_to_run_background_caching_job">
<code class="descclassname">apache_beam.runners.interactive.background_caching_job.</code><code class="descname">attempt_to_run_background_caching_job</code><span class="sig-paren">(</span><em>runner</em>, <em>user_pipeline</em>, <em>options=None</em>, <em>limiters=None</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#attempt_to_run_background_caching_job"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.attempt_to_run_background_caching_job" title="Permalink to this definition">¶</a></dt>
<dd><p>Attempts to run a background source recording job for a user-defined
pipeline.</p>
<p>Returns True if a job was started, False otherwise.</p>
<p>The pipeline result is automatically tracked by Interactive Beam in case
future cancellation/cleanup is needed.</p>
</dd></dl>

<dl class="function">
<dt id="apache_beam.runners.interactive.background_caching_job.is_background_caching_job_needed">
<code class="descclassname">apache_beam.runners.interactive.background_caching_job.</code><code class="descname">is_background_caching_job_needed</code><span class="sig-paren">(</span><em>user_pipeline</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#is_background_caching_job_needed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.is_background_caching_job_needed" title="Permalink to this definition">¶</a></dt>
<dd><p>Determines if a background source recording job needs to be started.</p>
<p>It does several state checks and recording state changes throughout the
process. It is not idempotent to simplify the usage.</p>
</dd></dl>

<dl class="function">
<dt id="apache_beam.runners.interactive.background_caching_job.is_cache_complete">
<code class="descclassname">apache_beam.runners.interactive.background_caching_job.</code><code class="descname">is_cache_complete</code><span class="sig-paren">(</span><em>pipeline_id</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#is_cache_complete"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.is_cache_complete" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns True if the backgrond cache for the given pipeline is done.</p>
</dd></dl>

<dl class="function">
<dt id="apache_beam.runners.interactive.background_caching_job.has_source_to_cache">
<code class="descclassname">apache_beam.runners.interactive.background_caching_job.</code><code class="descname">has_source_to_cache</code><span class="sig-paren">(</span><em>user_pipeline</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#has_source_to_cache"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.has_source_to_cache" title="Permalink to this definition">¶</a></dt>
<dd><p>Determines if a user-defined pipeline contains any source that need to be
cached. If so, also immediately wrap current cache manager held by current
interactive environment into a streaming cache if this has not been done.
The wrapping doesn’t invalidate existing cache in any way.</p>
<p>This can help determining if a background source recording job is needed to
write cache for sources and if a test stream service is needed to serve the
cache.</p>
<p>Throughout the check, if source-to-cache has changed from the last check, it
also cleans up the invalidated cache early on.</p>
</dd></dl>

<dl class="function">
<dt id="apache_beam.runners.interactive.background_caching_job.attempt_to_cancel_background_caching_job">
<code class="descclassname">apache_beam.runners.interactive.background_caching_job.</code><code class="descname">attempt_to_cancel_background_caching_job</code><span class="sig-paren">(</span><em>user_pipeline</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#attempt_to_cancel_background_caching_job"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.attempt_to_cancel_background_caching_job" title="Permalink to this definition">¶</a></dt>
<dd><p>Attempts to cancel background source recording job for a user-defined
pipeline.</p>
<p>If no background source recording job needs to be cancelled, NOOP. Otherwise,
cancel such job.</p>
</dd></dl>

<dl class="function">
<dt id="apache_beam.runners.interactive.background_caching_job.attempt_to_stop_test_stream_service">
<code class="descclassname">apache_beam.runners.interactive.background_caching_job.</code><code class="descname">attempt_to_stop_test_stream_service</code><span class="sig-paren">(</span><em>user_pipeline</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#attempt_to_stop_test_stream_service"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.attempt_to_stop_test_stream_service" title="Permalink to this definition">¶</a></dt>
<dd><p>Attempts to stop the gRPC server/service serving the test stream.</p>
<p>If there is no such server started, NOOP. Otherwise, stop it.</p>
</dd></dl>

<dl class="function">
<dt id="apache_beam.runners.interactive.background_caching_job.is_a_test_stream_service_running">
<code class="descclassname">apache_beam.runners.interactive.background_caching_job.</code><code class="descname">is_a_test_stream_service_running</code><span class="sig-paren">(</span><em>user_pipeline</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#is_a_test_stream_service_running"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.is_a_test_stream_service_running" title="Permalink to this definition">¶</a></dt>
<dd><p>Checks to see if there is a gPRC server/service running that serves the
test stream to any job started from the given user_pipeline.</p>
</dd></dl>

<dl class="function">
<dt id="apache_beam.runners.interactive.background_caching_job.is_source_to_cache_changed">
<code class="descclassname">apache_beam.runners.interactive.background_caching_job.</code><code class="descname">is_source_to_cache_changed</code><span class="sig-paren">(</span><em>user_pipeline</em>, <em>update_cached_source_signature=True</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#is_source_to_cache_changed"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.is_source_to_cache_changed" title="Permalink to this definition">¶</a></dt>
<dd><p>Determines if there is any change in the sources that need to be cached
used by the user-defined pipeline.</p>
<p>Due to the expensiveness of computations and for the simplicity of usage, this
function is not idempotent because Interactive Beam automatically discards
previously tracked signature of transforms and tracks the current signature of
transforms for the user-defined pipeline if there is any change.</p>
<p>When it’s True, there is addition/deletion/mutation of source transforms that
requires a new background source recording job.</p>
</dd></dl>

<dl class="function">
<dt id="apache_beam.runners.interactive.background_caching_job.extract_source_to_cache_signature">
<code class="descclassname">apache_beam.runners.interactive.background_caching_job.</code><code class="descname">extract_source_to_cache_signature</code><span class="sig-paren">(</span><em>user_pipeline</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/apache_beam/runners/interactive/background_caching_job.html#extract_source_to_cache_signature"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#apache_beam.runners.interactive.background_caching_job.extract_source_to_cache_signature" title="Permalink to this definition">¶</a></dt>
<dd><p>Extracts a set of signature for sources that need to be cached in the
user-defined pipeline.</p>
<p>A signature is a str representation of urn and payload of a source.</p>
</dd></dl>

</div>


           </div>
           
          </div>
          <footer>
  
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
      
        <a href="apache_beam.runners.interactive.cache_manager.html" class="btn btn-neutral float-right" title="apache_beam.runners.interactive.cache_manager module" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right"></span></a>
      
      
        <a href="apache_beam.runners.interactive.augmented_pipeline.html" class="btn btn-neutral float-left" title="apache_beam.runners.interactive.augmented_pipeline module" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left"></span> Previous</a>
      
    </div>
  

  <hr/>

  <div role="contentinfo">
    <p>
        &copy; Copyright 

    </p>
  </div>
  Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>. 

</footer>

        </div>
      </div>

    </section>

  </div>
  


  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
   

</body>
</html>