docs: def schedule(ident, cron=None, minute='*', hour='*',
               day_of_week='*', day_of_month='*', month_of_year='*'):
      '''Schedule an harvesting on a source given a crontab'''
      source = get_source(ident)
  
      if cron:
          minute, hour, day_of_month, month_of_year, day_of_week = cron.split()
  
      crontab = PeriodicTask.Crontab(
          minute=str(minute),
          hour=str(hour),
          day_of_week=str(day_of_week),
          day_of_month=str(day_of_month),
          month_of_year=str(month_of_year)
      )
  
      if source.periodic_task:
          source.periodic_task.modify(crontab=crontab)
      else:
          source.modify(periodic_task=PeriodicTask.objects.create(
              task='harvest',
              name='Harvest {0}'.format(source.name),
              description='Periodic Harvesting',
              enabled=True,
              args=[str(source.id)],
              crontab=crontab,
          ))
      signals.harvest_source_scheduled.send(source)
      return source