{"id":41443624,"url":"https://github.com/cellgeni/farmer","last_synced_at":"2026-01-23T14:59:18.563Z","repository":{"id":256220168,"uuid":"852781369","full_name":"cellgeni/farmer","owner":"cellgeni","description":"Slack bot that tells you the status of your LSF jobs 🧑‍🌾","archived":false,"fork":false,"pushed_at":"2026-01-16T14:26:50.000Z","size":151,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-01-17T04:38:29.682Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cellgeni.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-09-05T12:17:40.000Z","updated_at":"2026-01-16T14:26:55.000Z","dependencies_parsed_at":"2024-11-11T18:18:06.667Z","dependency_job_id":"aac97a8f-344d-412f-b966-304c5929c113","html_url":"https://github.com/cellgeni/farmer","commit_stats":null,"previous_names":["cellgeni/farmer"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/cellgeni/farmer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cellgeni%2Ffarmer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cellgeni%2Ffarmer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cellgeni%2Ffarmer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cellgeni%2Ffarmer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cellgeni","download_url":"https://codeload.github.com/cellgeni/farmer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cellgeni%2Ffarmer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28694459,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-23T14:15:13.573Z","status":"ssl_error","status_checked_at":"2026-01-23T14:09:05.534Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":[],"created_at":"2026-01-23T14:59:18.411Z","updated_at":"2026-01-23T14:59:18.542Z","avatar_url":"https://github.com/cellgeni.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# farmer\n\nSlack bot that tells you the status of your LSF jobs 🧑‍🌾\n\n## Usage\n\nFarmer currently has two functions: listing pending/running jobs, and notifying you when your jobs finish.\n\nTo see your pending/running jobs, send Farmer a message saying \"jobs\". (You can also see jobs for other users, e.g. by saying \"jobs for cellgeni-su\".)\n\nTo be notified when jobs finish, you can use the [included post-exec script](./src/post-exec.sh):\n\n```console\n$ bsub ... -Ep /software/cellgen/cellgeni/etc/notify-slack.sh\n```\n\nor as a bsub comment:\n\n```\n#BSUB -Ep /software/cellgen/cellgeni/etc/notify-slack.sh\n```\n\nIf you submit an array job with this post-exec script, you'll only be notified once every job in the array has finished.\n\nFor more suggestions, see the [`examples` directory](./examples).\n\n## Preemptively Answered Questions\n\n- **I don't use bsub, I use Nextflow** – Nextflow has built-in support for sending notifications when jobs finish. For example: `nextflow run -N you@email.example`\n\n- **I don't use bsub, I use wr** – when adding a command to wr, use a command line like: `wr add --on_exit \"[{\\\"run\\\": \\\"/software/cellgen/cellgeni/etc/notify-slack.sh --user=$USER --label='wr job'\\\"}, {\\\"cleanup\\\": true}]\"`, replacing the job label as appropriate.\n\n  If you want to be notified only when a _group_ of wr jobs has completed, add a job to send the notification (it will run once immediately):\n\n  ```console\n  $ echo \"/software/cellgen/cellgeni/etc/notify-slack.sh --user=$USER --label='wr jobs'\" | wr add --deps notify\n  ```\n\n  Then add your jobs to the `notify` dependency group, using a command like `wr add --dep_grps notify`.\n  Note that you only need to run `wr add --deps notify` once – it will automatically notify you again if you add more commands with `--dep_grps notify` in the future.\n\n  (Remember to replace `$USER` in the above commands with your own username, if you're using a service account.)\n\n- **I run jobs using a service account/I need Slack notifications to go to someone else** – by default, Farmer tries to find a Slack account belonging to the job's owner, but you can override this heuristic in two ways.\n\n  One option is to set the environment variable `FARMER_SLACK_USER` to your username: for example, put `export FARMER_SLACK_USER=zz0` into your service account's `~/.bashrc`.\n  This might be useful if you run many jobs using this service account.\n\n  Alternatively, you can pass a username straight to the post-exec script, by adding quotes (this overrides the environment variable, if set):\n\n  ```console\n  $ bsub ... -Ep \"/software/cellgen/cellgeni/etc/notify-slack.sh zz0\"\n  ```\n\n## Development\n\nSee [HACKING.md](HACKING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcellgeni%2Ffarmer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcellgeni%2Ffarmer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcellgeni%2Ffarmer/lists"}