혹시.. Timer thread를 구현해보신분.

leolo의 이미지

혹시.. Timer thread를 구현해보신분.

코드 좀 알려주세요..

Timer thread가 무엇인지도.. 모르겠습니다.

물론, C 코드여야 하고요..

설명이나.. 참조할 만한 소스도 좀..

낙엽의 이미지

Timer thread라는게

한 Transaction에 대해 완료 및 타임아웃을 보장하기 위해 존재하는것 아닌가요?

프로세스내의 특정 액션에 ID를 주고, 그 ID에 대한 요청이 들어왔을 때, timer queue에 넣고 일정 시간동안 그 ID에 해당하는 액션이 처리되지 않았다면 버리던가 혹은 재시작 할 것인가를 정해주는.. 뭐 그런것을 의미하는것 같은데요.

상태기계(오토마타 였나요..)에서 자주 쓰이는 그런것을 말씀하시는건지?

leolo의 이미지

정해진 flow 대로 메시지를 주고 받아야 하는데..
A ---> B 프로세스에게 메시지 규격1을 주면,
B가 메시지 규격 2를 주어야 하는데, 일정 시간을
줘도 2를 보내지 않을 경우, 특정 행동을 A가 수행하도록
하는 것을 말합니다.
참조할 만한 것이 있는지요..

실력이 있으면 삶이 편하다... 영차 영차...

낙엽의 이미지

저도 예전에 말씀하신 것과 비슷한 기능이 필요하여 찾아봤지만 뚜렷하게 참조할 만한 문서는 없었던것 같습니다.

다만, 이런저런 소스들을 참조해서 어찌어찌 하긴 했지요.. :oops:

시간 의존적인 스케줄링이 필요한 메시지 및 실패한 이벤트에 대해 타이머 이벤트를 설정해서 어떤 트랜잭션에서 타이머가 설정되면 하나의 타이머 블록을 진행 타이머 리스트에 추가하여 관리하고 타이머 블록은 트랜잭션이 종료되는 시간 그리고 트랜잭션과 관련된 서버 엔트리 그리고 종료시점에 수행될 이벤트가 기록됩니다.

만약 오퍼레이션이 정상적으로 이루어지지 않을 경우에는 해당 서버 엔트리로 타임아웃메시지를 보내고 일정 시간간격으로 진행 타이머리스트를 검사해서 만료 시간이 지난 타이머 블럭은 진행 타이머리스트에서 삭제하게되죠.

대략 이런 진행구조로 설계하고 작성했습니다.

참조가 될 만한 문서는 찾아봐야 겠지만.. 아마 찾기 힘들것 같네요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.