{"id":32166663,"url":"https://github.com/straightdave/exticker","last_synced_at":"2026-02-23T05:01:41.288Z","repository":{"id":62429492,"uuid":"324785052","full_name":"straightdave/exticker","owner":"straightdave","description":"Simple Elixir ticker","archived":false,"fork":false,"pushed_at":"2020-12-29T07:12:06.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-31T22:06:43.227Z","etag":null,"topics":["elixir","periodically","ticker"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/straightdave.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-27T14:58:47.000Z","updated_at":"2020-12-29T07:12:08.000Z","dependencies_parsed_at":"2022-11-01T20:03:29.112Z","dependency_job_id":null,"html_url":"https://github.com/straightdave/exticker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/straightdave/exticker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/straightdave%2Fexticker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/straightdave%2Fexticker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/straightdave%2Fexticker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/straightdave%2Fexticker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/straightdave","download_url":"https://codeload.github.com/straightdave/exticker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/straightdave%2Fexticker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29738083,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-23T04:51:08.365Z","status":"ssl_error","status_checked_at":"2026-02-23T04:49:15.865Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["elixir","periodically","ticker"],"created_at":"2025-10-21T15:08:44.835Z","updated_at":"2026-02-23T05:01:41.273Z","avatar_url":"https://github.com/straightdave.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ExTicker\n\nSimple Elixir ticker.\n\n## Basic usage\n\nDefining your periodical worker:\n\n```elixir\ndefmodule MyWorker do\n  # Options:\n  # - interval  -\u003e interval (ms), default 1000\n  # - do        -\u003e function to trigger, default :work\n  use ExTicker, interval: 5000, do: :work\n\n  def work() do\n    # .. do some stuff ...\n  end\nend\n```\n\nYou create it with:\n```elixir\nMyWorker.new() # it calls `MyWork.start_link([])` behind.\n```\n\u003e With this `#start_link(any)` function, *MyWorker* could be started by your supervisor:\n\u003e```\n\u003echildren = [\n\u003e  {MyWorker, []}\n\u003e]\n\u003e\n\u003eopts = [strategy: :one_for_one, name: MySupervisor]\n\u003eSupervisor.start_link(children, opts)\n\u003e```\n\nAfter creation, you can start / stop it with:\n```elixir\nMyWorker.start()\n# begin to do some thing periodically\nMyWorker.stop()\n# stopped\nMyWorker.start()\n# resumed ...\n```\n\n### Test it in IEx\n```\nInteractive Elixir (1.11.2) - press Ctrl+C to exit (type h() ENTER for help)\niex(1)\u003e defmodule My do\n...(1)\u003e   use ExTicker\n...(1)\u003e   def work() do\n...(1)\u003e     IO.puts(\"hello\")\n...(1)\u003e   end\n...(1)\u003e end\n{:module, My,\n \u003c\u003c70, 79, 82, 49, 0, 0, 19, 184, 66, 69, 65, 77, 65, 116, 85, 56, 0, 0, 1, 204,\n   0, 0, 0, 49, 9, 69, 108, 105, 120, 105, 114, 46, 77, 121, 8, 95, 95, 105,\n   110, 102, 111, 95, 95, 10, 97, 116, 116, ...\u003e\u003e, {:work, 0}}\niex(2)\u003e My.new()\n{:ok, #PID\u003c0.231.0\u003e}\niex(3)\u003e My.start()\n{:update, :running}\nhello\nhello\nhello\nhello\nhello\nhello\niex(4)\u003e My.stop()\n{:update, :stopped}\niex(5)\u003e\n```\n\n## Installation\n\nIf [available in Hex](https://hex.pm/docs/publish), the package can be installed\nby adding `exticker` to your list of dependencies in `mix.exs`:\n\n```elixir\ndef deps do\n  [\n    {:exticker, \"~\u003e 0.1.0\"}\n  ]\nend\n```\n\nDocumentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)\nand published on [HexDocs](https://hexdocs.pm). Once published, the docs can\nbe found at [https://hexdocs.pm/exticker](https://hexdocs.pm/exticker).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstraightdave%2Fexticker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstraightdave%2Fexticker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstraightdave%2Fexticker/lists"}