class_docstr: Call a function periodically with the specified number of seconds
class_docstr_tok: ["Call","a","function","periodically","with","the","specified","number","of","seconds"]
docstr: Stop the thread if it hasn't finished yet.
docstr_tok: ["Stop","the","thread","if","it","has","n't","finished","yet","."]
code: def cancel(self) -> None:
      """Stop the thread if it hasn't finished yet."""
      self._finished.set()
  
imports: import datetime
  import threading
  import time
  from collections.abc import Generator
  from functools import partial
  from typing import Any, Tuple, Dict, List
  from pyflink.common import Row
  from pyflink.fn_execution import pickle
  from pyflink.serializers import PickleSerializer
  from pyflink.table import functions
  from pyflink.table.udf import DelegationTableFunction, DelegatingScalarFunction, ImperativeAggregateFunction, PandasAggregateFunctionWrapper
label_desc: Use image node_id 3 for calling the PeriodicThread obj's underlying member method code with example usage: obj.cancel() without return types