payload: {"action":"opened","issue":{"url":"https://api.github.com/repos/ballerina-platform/ballerina-lang/issues/19902","repository_url":"https://api.github.com/repos/ballerina-platform/ballerina-lang","labels_url":"https://api.github.com/repos/ballerina-platform/ballerina-lang/issues/19902/labels{/name}","comments_url":"https://api.github.com/repos/ballerina-platform/ballerina-lang/issues/19902/comments","events_url":"https://api.github.com/repos/ballerina-platform/ballerina-lang/issues/19902/events","html_url":"https://github.com/ballerina-platform/ballerina-lang/issues/19902","id":522802265,"node_id":"MDU6SXNzdWU1MjI4MDIyNjU=","number":19902,"title":"Task module does not allow scheduling tasks at random timestamps","user":{"login":"gimantha","id":9362271,"node_id":"MDQ6VXNlcjkzNjIyNzE=","avatar_url":"https://avatars3.githubusercontent.com/u/9362271?v=4","gravatar_id":"","url":"https://api.github.com/users/gimantha","html_url":"https://github.com/gimantha","followers_url":"https://api.github.com/users/gimantha/followers","following_url":"https://api.github.com/users/gimantha/following{/other_user}","gists_url":"https://api.github.com/users/gimantha/gists{/gist_id}","starred_url":"https://api.github.com/users/gimantha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gimantha/subscriptions","organizations_url":"https://api.github.com/users/gimantha/orgs","repos_url":"https://api.github.com/users/gimantha/repos","events_url":"https://api.github.com/users/gimantha/events{/privacy}","received_events_url":"https://api.github.com/users/gimantha/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2019-11-14T11:37:09Z","updated_at":"2019-11-14T11:37:09Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"**Description:**\r\nCreating a separate issue, because https://github.com/ballerina-platform/ballerina-lang/pull/16957 does not address the exact problem.\r\n\r\nLets consider a situation where I want to schedule a task for an incoming request to a service or an event to a streaming query after 4.5 minutes the service or the streaming query receives the request/event.\r\nRight now the only available workaround is to create one task and schedule the task, then reinitialize the task with new task and reschedule it for the next event/request. With higher number of requests/events, a higher number of tasks are getting created in the memory and when the rate of creating new tasks increases, the program is getting slow as the already completed tasks are not getting GCed quickly.\r\nWe need to find a proper way to submit jobs to a single task which should be executed once at random timestamps.\r\n\r\n**Steps to reproduce:**\r\n\r\n**Affected Versions:**\r\n\r\n**OS, DB, other environment details and versions:**\r\n\r\n**Related Issues (optional):**\r\n<!-- Any related issues such as sub tasks, issues reported in other repositories (e.g component repositories), similar problems, etc. -->\r\n\r\n**Suggested Labels (optional):**\r\n<!-- Optional comma separated list of suggested labels. Non committers can’t assign labels to issues, so this will help issue creators who are not a committer to suggest possible labels-->\r\n\r\n**Suggested Assignees (optional):**\r\n<!--Optional comma separated list of suggested team members who should attend the issue. Non committers can’t assign issues to assignees, so this will help issue creators who are not a committer to suggest possible assignees-->\r\n"}}
other: {"actor":{"display_login":"gimantha"}}