GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — bpo-29569: threading.Timer class: Continue periodical execution till action return True by slytomcat · Pull Request #191 · python/cpython

Conversation

@slytomcat

@slytomcat slytomcat commented Feb 20, 2017

Copy link
Copy Markdown

I think that functionality of threading.Timer class can be easily extended to generate the sequence of runs with specified period. The idea comes from the GLib.timeout_add function.

http://bugs.python.org/issue29569

As most current CB functions that are used in Timer returns nothing (None) they will run only once as earlier. Only functions that returns True will continue their periodical execution.

There are two ways to stop such continues execution:

  • Return something that is not True from action function,
  • Call cancel method of Timer class.

Changed method run should look like:

    def run(self):
        """Continue execution after wait till function returns True"""
        while(not self.finished.wait(self.interval)):
            if not self.function(*self.args, **self.kwargs):
                break
        self.finished.set()

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@slytomcat
threading.Timer class: Continue periodical execution till action retu…
e0d757c
…rn True + tests + doc
@the-knights-who-say-ni the-knights-who-say-ni added the CLA signed label Feb 20, 2017
@slytomcat

slytomcat commented Feb 20, 2017 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Author

It is reopened (due to need to reorganize my clonned repo) CR #121

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@slytomcat slytomcat mentioned this pull request Feb 20, 2017
bpo-29569: threading.Timer class: Continue periodical execution till action return True #121
Closed
@rhettinger
rhettinger requested a review from pitrou April 5, 2017 05:38
@slytomcat

slytomcat commented Jun 6, 2017

Copy link
Copy Markdown
Author

Closed after discussion on the issue.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@slytomcat slytomcat closed this Jun 6, 2017
akruis added a commit to akruis/cpython that referenced this pull request Dec 27, 2018
@akruis
Stackless issue python#191: fix tp_dealloc / tp_new / tp_free usage
bc88cc8
Use/implement tp_dealloc/tp_new/tp_free according to the latest C-API
documentation.
jaraco pushed a commit that referenced this pull request Dec 2, 2022
@Mariatta
Leave a comment if failed to merge PR. (#191)
5fc67ce
Closes python/miss-islington#188
SonicField added a commit to SonicField/cpython that referenced this pull request Apr 27, 2026
@SonicField
docs: land 4 historical phase plans with SUPERSEDED-BY markers
0548237
Institutional-debt audit (b) per supervisor 12:05:10Z. All 4 untracked
phase plans verified against the canonical Phase 4+ roadmap. Each is
SUPERSEDED — by the canonical roadmap doc OR by completion of the
work it described. Headers added; plans retained in tree for
historical scoping rationale rather than deleted.

  docs/phase3d-next-subsystem-plan.md  (theologian 2026-04-17, 220 LOC)
    SUPERSEDED BY docs/post-phase3d-pure-c-roadmap.md (canonical
    Phase 4+ roadmap, supervisor-promoted 2026-04-27 07:20:19Z) +
    docs/phase4-hir-burndown-spec.md (Phase 4 HIR-area deep dive).
    Pre-Phase-3D 5-phase scoping; per-file LOC table informed the
    bottom-up area-prioritization in the canonical roadmap.

  docs/phase-crtp-elimination-plan.md  (undated, 55 LOC)
    SUPERSEDED BY docs/post-phase3d-pure-c-roadmap.md. Template-
    elimination work belongs to the HIR convergence sweep + the
    CRTP/template residue cleanup deferred until consumers go pure-C.

  docs/phase-h2-plan.md  (~2026-04-15, 103 LOC)
    SUPERSEDED BY COMPLETION. The H2-A/B C-struct migration landed:
    Python/jit/hir/hir_instr_c.h holds the 46+ HirInstrLayout /
    HirDeoptLayout / per-opcode struct definitions and the
    HIR_INSTR_FIELDS / HIR_DEOPT_FIELDS macros; cross-arch verification
    in Python/jit/hir/hir_instr_c_verify.cpp.

  docs/phase-h2e-container-plan.md  (~April, 91 LOC)
    SUPERSEDED BY COMPLETION. Per-field DeoptBase container conversion
    landed: descr_ → char *descr (E1), live_regs_ → PhxRegStateArray
    (E2), frame_state_ → raw void* (E3) — see HIR_DEOPT_FIELDS at
    Python/jit/hir/hir_instr_c.h:123 and the hir_c_destroy_instr_impl
    dispatcher.

Doc-only commit. Closes the canonical-version ambiguity surfaced by
pythia python#191 python#3 (audit (a) landed 11 canonical docs alongside these 4
unverified-as-superseded plans). No JIT/build/codegen surface;
trivial-push exemption.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@pitrou pitrou Awaiting requested review from pitrou

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@slytomcat @the-knights-who-say-ni
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.