semaphore: Cron definition is ignored

I have a task with defined cron ‘0 0 * * 0’ but it’s not started based on this schedule. I’m not able to find any related logs.

root@serverLinuxWEBAPP:~# cat /etc/redhat-release 
CentOS Stream release 8
root@serverLinuxWEBAPP:~# rpm -qa | grep semaphore
semaphore-2.8.53-1.x86_64
root@serverLinuxWEBAPP:~# systemctl status semaphore
● semaphore.service - Semaphore Ansible
   Loaded: loaded (/etc/systemd/system/semaphore.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2022-03-21 16:10:38 CET; 1 months 21 days ago
     Docs: https://github.com/ansible-semaphore/semaphore
 Main PID: 2530737 (semaphore)
    Tasks: 6 (limit: 23546)
   Memory: 68.9M
   CGroup: /system.slice/semaphore.service
           └─2530737 /usr/bin/semaphore service --config=/opt/semaphore/config.json

Can you please suggest where to look / start debug?

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 2
  • Comments: 20

Most upvoted comments

I can add that I also am seeing this issue on v2.8.49. I’ve tried different cron values and I see the following behavior:

  • It repeats once at the time specified by cron.
  • After that repeat, it never launches again.
  • If I hit run or rerun on the task, it will do a repeat of the above pattern.

The syslog file that I found doesn’t show any difference between the first job that I run and the one that executes from the cron task.

I did find a work around. Seems like this is only broken for tasks. If you do a cron for a build it works just fine. It does have an issue where it keeps the same cron value even after you remove it. If you change it back to a task, that does stop it from continually running the cron job.

Could be related to this package specification: https://pkg.go.dev/github.com/robfig/cron and the required cron format from semaphore ? image go package uses 6 arguments, semaphore just 5

I’m having the same behaviour with v2.8.53: cron is working for the first time but then it stops without error message, there is no event that shows if the cron job is trying to start. I’m running semaphore in docker. Running the jobs manually always works.